@@ -30,6 +30,11 @@ extern macro PromiseBuiltinsAssembler::IsIsolatePromiseHookEnabled(uint32):
30
30
31
31
extern macro PromiseBuiltinsAssembler::PromiseHookFlags(): uint32;
32
32
33
+ namespace macros {
34
+ extern macro GetContinuationPreservedEmbedderData(): Object;
35
+ extern macro SetContinuationPreservedEmbedderData(Object): void;
36
+ }
37
+
33
38
namespace promise {
34
39
extern macro IsFunctionWithPrototypeSlotMap(Map): bool;
35
40
@@ -80,7 +85,7 @@ macro NewPromiseFulfillReactionJobTask(
80
85
return new PromiseFulfillReactionJobTask{
81
86
map: PromiseFulfillReactionJobTaskMapConstant(),
82
87
continuation_preserved_embedder_data:
83
- GetContinuationPreservedEmbedderData(),
88
+ macros:: GetContinuationPreservedEmbedderData(),
84
89
argument,
85
90
context: handlerContext,
86
91
handler,
@@ -108,7 +113,7 @@ macro NewPromiseRejectReactionJobTask(
108
113
return new PromiseRejectReactionJobTask{
109
114
map: PromiseRejectReactionJobTaskMapConstant(),
110
115
continuation_preserved_embedder_data:
111
- GetContinuationPreservedEmbedderData(),
116
+ macros:: GetContinuationPreservedEmbedderData(),
112
117
argument,
113
118
context: handlerContext,
114
119
handler,
@@ -303,7 +308,7 @@ macro NewPromiseReaction(
303
308
return new PromiseReaction{
304
309
map: PromiseReactionMapConstant(),
305
310
continuation_preserved_embedder_data:
306
- GetContinuationPreservedEmbedderData(),
311
+ macros:: GetContinuationPreservedEmbedderData(),
307
312
next: next,
308
313
reject_handler: rejectHandler,
309
314
fulfill_handler: fulfillHandler,
@@ -347,7 +352,7 @@ macro NewPromiseResolveThenableJobTask(
347
352
return new PromiseResolveThenableJobTask{
348
353
map: PromiseResolveThenableJobTaskMapConstant(),
349
354
continuation_preserved_embedder_data:
350
- GetContinuationPreservedEmbedderData(),
355
+ macros:: GetContinuationPreservedEmbedderData(),
351
356
context: nativeContext,
352
357
promise_to_resolve: promiseToResolve,
353
358
thenable,
@@ -452,4 +457,18 @@ transitioning macro BranchIfAccessCheckFailed(
452
457
}
453
458
} label HasAccess {}
454
459
}
460
+
461
+ @if(V8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA)
462
+ transitioning javascript builtin GetContinuationPreservedEmbedderData(
463
+ js-implicit context: Context, receiver: JSAny)(): JSAny {
464
+ return UnsafeCast<JSAny>(macros::GetContinuationPreservedEmbedderData());
465
+ }
466
+
467
+ @if(V8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA)
468
+ transitioning javascript builtin SetContinuationPreservedEmbedderData(
469
+ js-implicit context: Context, receiver: JSAny)(data: Object): Undefined {
470
+ macros::SetContinuationPreservedEmbedderData(data);
471
+ return Undefined;
472
+ }
473
+
455
474
}
0 commit comments