4646#define NODE_NET_SOCKET_READ_ENABLED () (0 )
4747#define NODE_NET_SOCKET_WRITE (arg0, arg1, arg2, arg3, arg4 )
4848#define NODE_NET_SOCKET_WRITE_ENABLED () (0 )
49- #define NODE_GC_START (arg0, arg1 )
50- #define NODE_GC_DONE (arg0, arg1 )
49+ #define NODE_GC_START (arg0, arg1, arg2 )
50+ #define NODE_GC_DONE (arg0, arg1, arg2 )
5151#endif
5252
5353#include " env.h"
@@ -63,6 +63,7 @@ using v8::GCPrologueCallback;
6363using v8::GCType;
6464using v8::Handle;
6565using v8::HandleScope;
66+ using v8::Isolate;
6667using v8::Local;
6768using v8::Object;
6869using v8::String;
@@ -287,19 +288,17 @@ void DTRACE_HTTP_CLIENT_RESPONSE(const FunctionCallbackInfo<Value>& args) {
287288}
288289
289290
290- int dtrace_gc_start (GCType type, GCCallbackFlags flags) {
291- NODE_GC_START (type, flags);
292- /*
293- * We avoid the tail-call elimination of the USDT probe (which screws up
294- * args) by forcing a return of 0.
295- */
296- return 0 ;
291+ void dtrace_gc_start (Isolate* isolate, GCType type, GCCallbackFlags flags) {
292+ // Previous versions of this probe point only logged type and flags.
293+ // That's why for reasons of backwards compatibility the isolate goes last.
294+ NODE_GC_START (type, flags, isolate);
297295}
298296
299297
300- int dtrace_gc_done (GCType type, GCCallbackFlags flags) {
301- NODE_GC_DONE (type, flags);
302- return 0 ;
298+ void dtrace_gc_done (Isolate* isolate, GCType type, GCCallbackFlags flags) {
299+ // Previous versions of this probe point only logged type and flags.
300+ // That's why for reasons of backwards compatibility the isolate goes last.
301+ NODE_GC_DONE (type, flags, isolate);
303302}
304303
305304
@@ -334,8 +333,8 @@ void InitDTrace(Environment* env, Handle<Object> target) {
334333#endif
335334
336335#if defined HAVE_DTRACE || defined HAVE_ETW
337- v8::V8::AddGCPrologueCallback ((GCPrologueCallback) dtrace_gc_start);
338- v8::V8::AddGCEpilogueCallback ((GCEpilogueCallback) dtrace_gc_done);
336+ env-> isolate ()-> AddGCPrologueCallback ( dtrace_gc_start);
337+ env-> isolate ()-> AddGCEpilogueCallback ( dtrace_gc_done);
339338#endif
340339}
341340
0 commit comments