@@ -363,7 +363,7 @@ static void CheckImmediate(uv_check_t* handle) {
363
363
env->immediate_callback_string (),
364
364
0 ,
365
365
nullptr ,
366
- 0 , 0 ).ToLocalChecked ();
366
+ { 0 , 0 } ).ToLocalChecked ();
367
367
}
368
368
369
369
@@ -1298,8 +1298,7 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1298
1298
const Local<Function> callback,
1299
1299
int argc,
1300
1300
Local<Value> argv[],
1301
- double async_id,
1302
- double trigger_id) {
1301
+ async_context asyncContext) {
1303
1302
// If you hit this assertion, you forgot to enter the v8::Context first.
1304
1303
CHECK_EQ (env->context (), env->isolate ()->GetCurrentContext ());
1305
1304
@@ -1321,10 +1320,12 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1321
1320
MaybeLocal<Value> ret;
1322
1321
1323
1322
{
1324
- AsyncHooks::ExecScope exec_scope (env, async_id, trigger_id);
1323
+ AsyncHooks::ExecScope exec_scope (env, asyncContext.async_id ,
1324
+ asyncContext.trigger_async_id );
1325
1325
1326
- if (async_id != 0 ) {
1327
- if (!AsyncWrap::EmitBefore (env, async_id)) return Local<Value>();
1326
+ if (asyncContext.async_id != 0 ) {
1327
+ if (!AsyncWrap::EmitBefore (env, asyncContext.async_id ))
1328
+ return Local<Value>();
1328
1329
}
1329
1330
1330
1331
ret = callback->Call (env->context (), recv, argc, argv);
@@ -1336,8 +1337,9 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1336
1337
ret : Undefined (env->isolate ());
1337
1338
}
1338
1339
1339
- if (async_id != 0 ) {
1340
- if (!AsyncWrap::EmitAfter (env, async_id)) return Local<Value>();
1340
+ if (asyncContext.async_id != 0 ) {
1341
+ if (!AsyncWrap::EmitAfter (env, asyncContext.async_id ))
1342
+ return Local<Value>();
1341
1343
}
1342
1344
}
1343
1345
@@ -1358,8 +1360,8 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1358
1360
1359
1361
// Make sure the stack unwound properly. If there are nested MakeCallback's
1360
1362
// then it should return early and not reach this code.
1361
- CHECK_EQ (env->current_async_id (), async_id);
1362
- CHECK_EQ (env->trigger_id (), trigger_id );
1363
+ CHECK_EQ (env->current_async_id (), asyncContext. async_id );
1364
+ CHECK_EQ (env->trigger_id (), asyncContext. trigger_async_id );
1363
1365
1364
1366
Local<Object> process = env->process_object ();
1365
1367
@@ -1384,13 +1386,11 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1384
1386
const char * method,
1385
1387
int argc,
1386
1388
Local<Value> argv[],
1387
- async_uid async_id,
1388
- async_uid trigger_id) {
1389
+ async_context asyncContext) {
1389
1390
Local<String> method_string =
1390
1391
String::NewFromUtf8 (isolate, method, v8::NewStringType::kNormal )
1391
1392
.ToLocalChecked ();
1392
- return MakeCallback (isolate, recv, method_string, argc, argv,
1393
- async_id, trigger_id);
1393
+ return MakeCallback (isolate, recv, method_string, argc, argv, asyncContext);
1394
1394
}
1395
1395
1396
1396
@@ -1399,14 +1399,12 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1399
1399
Local<String> symbol,
1400
1400
int argc,
1401
1401
Local<Value> argv[],
1402
- async_uid async_id,
1403
- async_uid trigger_id) {
1402
+ async_context asyncContext) {
1404
1403
Local<Value> callback_v = recv->Get (symbol);
1405
1404
if (callback_v.IsEmpty ()) return Local<Value>();
1406
1405
if (!callback_v->IsFunction ()) return Local<Value>();
1407
1406
Local<Function> callback = callback_v.As <Function>();
1408
- return MakeCallback (isolate, recv, callback, argc, argv,
1409
- async_id, trigger_id);
1407
+ return MakeCallback (isolate, recv, callback, argc, argv, asyncContext);
1410
1408
}
1411
1409
1412
1410
@@ -1415,8 +1413,7 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1415
1413
Local<Function> callback,
1416
1414
int argc,
1417
1415
Local<Value> argv[],
1418
- async_uid async_id,
1419
- async_uid trigger_id) {
1416
+ async_context asyncContext) {
1420
1417
// Observe the following two subtleties:
1421
1418
//
1422
1419
// 1. The environment is retrieved from the callback function's context.
@@ -1427,7 +1424,7 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1427
1424
Environment* env = Environment::GetCurrent (callback->CreationContext ());
1428
1425
Context::Scope context_scope (env->context ());
1429
1426
return MakeCallback (env, recv.As <Value>(), callback, argc, argv,
1430
- async_id, trigger_id );
1427
+ asyncContext );
1431
1428
}
1432
1429
1433
1430
@@ -1440,7 +1437,7 @@ Local<Value> MakeCallback(Isolate* isolate,
1440
1437
Local<Value>* argv) {
1441
1438
EscapableHandleScope handle_scope (isolate);
1442
1439
return handle_scope.Escape (
1443
- MakeCallback (isolate, recv, method, argc, argv, 0 , 0 )
1440
+ MakeCallback (isolate, recv, method, argc, argv, { 0 , 0 } )
1444
1441
.FromMaybe (Local<Value>()));
1445
1442
}
1446
1443
@@ -1452,7 +1449,7 @@ Local<Value> MakeCallback(Isolate* isolate,
1452
1449
Local<Value>* argv) {
1453
1450
EscapableHandleScope handle_scope (isolate);
1454
1451
return handle_scope.Escape (
1455
- MakeCallback (isolate, recv, symbol, argc, argv, 0 , 0 )
1452
+ MakeCallback (isolate, recv, symbol, argc, argv, { 0 , 0 } )
1456
1453
.FromMaybe (Local<Value>()));
1457
1454
}
1458
1455
@@ -1464,7 +1461,7 @@ Local<Value> MakeCallback(Isolate* isolate,
1464
1461
Local<Value>* argv) {
1465
1462
EscapableHandleScope handle_scope (isolate);
1466
1463
return handle_scope.Escape (
1467
- MakeCallback (isolate, recv, callback, argc, argv, 0 , 0 )
1464
+ MakeCallback (isolate, recv, callback, argc, argv, { 0 , 0 } )
1468
1465
.FromMaybe (Local<Value>()));
1469
1466
}
1470
1467
@@ -4448,7 +4445,7 @@ void EmitBeforeExit(Environment* env) {
4448
4445
};
4449
4446
MakeCallback (env->isolate (),
4450
4447
process_object, " emit" , arraysize (args), args,
4451
- 0 , 0 ).ToLocalChecked ();
4448
+ { 0 , 0 } ).ToLocalChecked ();
4452
4449
}
4453
4450
4454
4451
@@ -4469,7 +4466,7 @@ int EmitExit(Environment* env) {
4469
4466
4470
4467
MakeCallback (env->isolate (),
4471
4468
process_object, " emit" , arraysize (args), args,
4472
- 0 , 0 ).ToLocalChecked ();
4469
+ { 0 , 0 } ).ToLocalChecked ();
4473
4470
4474
4471
// Reload exit code, it may be changed by `emit('exit')`
4475
4472
return process_object->Get (exitCode)->Int32Value ();
0 commit comments