@@ -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
@@ -78,7 +83,7 @@ macro NewPromiseFulfillReactionJobTask(
78
83
return new PromiseFulfillReactionJobTask{
79
84
map: PromiseFulfillReactionJobTaskMapConstant(),
80
85
continuation_preserved_embedder_data:
81
- GetContinuationPreservedEmbedderData(),
86
+ macros:: GetContinuationPreservedEmbedderData(),
82
87
argument,
83
88
context: handlerContext,
84
89
handler,
@@ -106,7 +111,7 @@ macro NewPromiseRejectReactionJobTask(
106
111
return new PromiseRejectReactionJobTask{
107
112
map: PromiseRejectReactionJobTaskMapConstant(),
108
113
continuation_preserved_embedder_data:
109
- GetContinuationPreservedEmbedderData(),
114
+ macros:: GetContinuationPreservedEmbedderData(),
110
115
argument,
111
116
context: handlerContext,
112
117
handler,
@@ -301,7 +306,7 @@ macro NewPromiseReaction(
301
306
return new PromiseReaction{
302
307
map: PromiseReactionMapConstant(),
303
308
continuation_preserved_embedder_data:
304
- GetContinuationPreservedEmbedderData(),
309
+ macros:: GetContinuationPreservedEmbedderData(),
305
310
next: next,
306
311
reject_handler: rejectHandler,
307
312
fulfill_handler: fulfillHandler,
@@ -345,7 +350,7 @@ macro NewPromiseResolveThenableJobTask(
345
350
return new PromiseResolveThenableJobTask{
346
351
map: PromiseResolveThenableJobTaskMapConstant(),
347
352
continuation_preserved_embedder_data:
348
- GetContinuationPreservedEmbedderData(),
353
+ macros:: GetContinuationPreservedEmbedderData(),
349
354
context: nativeContext,
350
355
promise_to_resolve: promiseToResolve,
351
356
thenable,
@@ -450,4 +455,18 @@ transitioning macro BranchIfAccessCheckFailed(
450
455
}
451
456
} label HasAccess {}
452
457
}
458
+
459
+ @if(V8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA)
460
+ transitioning javascript builtin GetContinuationPreservedEmbedderData(
461
+ js-implicit context: Context, receiver: JSAny)(): JSAny {
462
+ return UnsafeCast<JSAny>(macros::GetContinuationPreservedEmbedderData());
463
+ }
464
+
465
+ @if(V8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA)
466
+ transitioning javascript builtin SetContinuationPreservedEmbedderData(
467
+ js-implicit context: Context, receiver: JSAny)(data: Object): Undefined {
468
+ macros::SetContinuationPreservedEmbedderData(data);
469
+ return Undefined;
470
+ }
471
+
453
472
}
0 commit comments