@@ -360,7 +360,7 @@ static void CheckImmediate(uv_check_t* handle) {
360
360
env->immediate_callback_string (),
361
361
0 ,
362
362
nullptr ,
363
- 0 , 0 ).ToLocalChecked ();
363
+ { 0 , 0 } ).ToLocalChecked ();
364
364
}
365
365
366
366
@@ -1295,8 +1295,7 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1295
1295
const Local<Function> callback,
1296
1296
int argc,
1297
1297
Local<Value> argv[],
1298
- double async_id,
1299
- double trigger_id) {
1298
+ async_context asyncContext) {
1300
1299
// If you hit this assertion, you forgot to enter the v8::Context first.
1301
1300
CHECK_EQ (env->context (), env->isolate ()->GetCurrentContext ());
1302
1301
@@ -1318,10 +1317,12 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1318
1317
MaybeLocal<Value> ret;
1319
1318
1320
1319
{
1321
- AsyncHooks::ExecScope exec_scope (env, async_id, trigger_id);
1320
+ AsyncHooks::ExecScope exec_scope (env, asyncContext.async_id ,
1321
+ asyncContext.trigger_async_id );
1322
1322
1323
- if (async_id != 0 ) {
1324
- if (!AsyncWrap::EmitBefore (env, async_id)) return Local<Value>();
1323
+ if (asyncContext.async_id != 0 ) {
1324
+ if (!AsyncWrap::EmitBefore (env, asyncContext.async_id ))
1325
+ return Local<Value>();
1325
1326
}
1326
1327
1327
1328
ret = callback->Call (env->context (), recv, argc, argv);
@@ -1333,8 +1334,9 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1333
1334
ret : Undefined (env->isolate ());
1334
1335
}
1335
1336
1336
- if (async_id != 0 ) {
1337
- if (!AsyncWrap::EmitAfter (env, async_id)) return Local<Value>();
1337
+ if (asyncContext.async_id != 0 ) {
1338
+ if (!AsyncWrap::EmitAfter (env, asyncContext.async_id ))
1339
+ return Local<Value>();
1338
1340
}
1339
1341
}
1340
1342
@@ -1355,8 +1357,8 @@ MaybeLocal<Value> MakeCallback(Environment* env,
1355
1357
1356
1358
// Make sure the stack unwound properly. If there are nested MakeCallback's
1357
1359
// then it should return early and not reach this code.
1358
- CHECK_EQ (env->current_async_id (), async_id);
1359
- CHECK_EQ (env->trigger_id (), trigger_id );
1360
+ CHECK_EQ (env->current_async_id (), asyncContext. async_id );
1361
+ CHECK_EQ (env->trigger_id (), asyncContext. trigger_async_id );
1360
1362
1361
1363
Local<Object> process = env->process_object ();
1362
1364
@@ -1381,13 +1383,11 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1381
1383
const char * method,
1382
1384
int argc,
1383
1385
Local<Value> argv[],
1384
- async_uid async_id,
1385
- async_uid trigger_id) {
1386
+ async_context asyncContext) {
1386
1387
Local<String> method_string =
1387
1388
String::NewFromUtf8 (isolate, method, v8::NewStringType::kNormal )
1388
1389
.ToLocalChecked ();
1389
- return MakeCallback (isolate, recv, method_string, argc, argv,
1390
- async_id, trigger_id);
1390
+ return MakeCallback (isolate, recv, method_string, argc, argv, asyncContext);
1391
1391
}
1392
1392
1393
1393
@@ -1396,14 +1396,12 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1396
1396
Local<String> symbol,
1397
1397
int argc,
1398
1398
Local<Value> argv[],
1399
- async_uid async_id,
1400
- async_uid trigger_id) {
1399
+ async_context asyncContext) {
1401
1400
Local<Value> callback_v = recv->Get (symbol);
1402
1401
if (callback_v.IsEmpty ()) return Local<Value>();
1403
1402
if (!callback_v->IsFunction ()) return Local<Value>();
1404
1403
Local<Function> callback = callback_v.As <Function>();
1405
- return MakeCallback (isolate, recv, callback, argc, argv,
1406
- async_id, trigger_id);
1404
+ return MakeCallback (isolate, recv, callback, argc, argv, asyncContext);
1407
1405
}
1408
1406
1409
1407
@@ -1412,8 +1410,7 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1412
1410
Local<Function> callback,
1413
1411
int argc,
1414
1412
Local<Value> argv[],
1415
- async_uid async_id,
1416
- async_uid trigger_id) {
1413
+ async_context asyncContext) {
1417
1414
// Observe the following two subtleties:
1418
1415
//
1419
1416
// 1. The environment is retrieved from the callback function's context.
@@ -1424,7 +1421,7 @@ MaybeLocal<Value> MakeCallback(Isolate* isolate,
1424
1421
Environment* env = Environment::GetCurrent (callback->CreationContext ());
1425
1422
Context::Scope context_scope (env->context ());
1426
1423
return MakeCallback (env, recv.As <Value>(), callback, argc, argv,
1427
- async_id, trigger_id );
1424
+ asyncContext );
1428
1425
}
1429
1426
1430
1427
@@ -1437,7 +1434,7 @@ Local<Value> MakeCallback(Isolate* isolate,
1437
1434
Local<Value>* argv) {
1438
1435
EscapableHandleScope handle_scope (isolate);
1439
1436
return handle_scope.Escape (
1440
- MakeCallback (isolate, recv, method, argc, argv, 0 , 0 )
1437
+ MakeCallback (isolate, recv, method, argc, argv, { 0 , 0 } )
1441
1438
.FromMaybe (Local<Value>()));
1442
1439
}
1443
1440
@@ -1449,7 +1446,7 @@ Local<Value> MakeCallback(Isolate* isolate,
1449
1446
Local<Value>* argv) {
1450
1447
EscapableHandleScope handle_scope (isolate);
1451
1448
return handle_scope.Escape (
1452
- MakeCallback (isolate, recv, symbol, argc, argv, 0 , 0 )
1449
+ MakeCallback (isolate, recv, symbol, argc, argv, { 0 , 0 } )
1453
1450
.FromMaybe (Local<Value>()));
1454
1451
}
1455
1452
@@ -1461,7 +1458,7 @@ Local<Value> MakeCallback(Isolate* isolate,
1461
1458
Local<Value>* argv) {
1462
1459
EscapableHandleScope handle_scope (isolate);
1463
1460
return handle_scope.Escape (
1464
- MakeCallback (isolate, recv, callback, argc, argv, 0 , 0 )
1461
+ MakeCallback (isolate, recv, callback, argc, argv, { 0 , 0 } )
1465
1462
.FromMaybe (Local<Value>()));
1466
1463
}
1467
1464
@@ -4445,7 +4442,7 @@ void EmitBeforeExit(Environment* env) {
4445
4442
};
4446
4443
MakeCallback (env->isolate (),
4447
4444
process_object, " emit" , arraysize (args), args,
4448
- 0 , 0 ).ToLocalChecked ();
4445
+ { 0 , 0 } ).ToLocalChecked ();
4449
4446
}
4450
4447
4451
4448
@@ -4466,7 +4463,7 @@ int EmitExit(Environment* env) {
4466
4463
4467
4464
MakeCallback (env->isolate (),
4468
4465
process_object, " emit" , arraysize (args), args,
4469
- 0 , 0 ).ToLocalChecked ();
4466
+ { 0 , 0 } ).ToLocalChecked ();
4470
4467
4471
4468
// Reload exit code, it may be changed by `emit('exit')`
4472
4469
return process_object->Get (exitCode)->Int32Value ();
0 commit comments