Move `emitGC()` of of the upper scope. Every time `startGarbageCollectionTracking()` is called `emitGC()` will be re-parsed and re-optimized. So it'd just be changed to:
```javascript
function emitGC(before, after) {
  v8.emit('gc', before, after);
}

v8.on('newListener', function addGCListener(name) {
  if (name === 'gc' && EventEmitter.listenerCount(this, name) === 0)
    binding.startGarbageCollectionTracking(emitGC);
});
```
Dumb I know.