Skip to content

Commit 4687858

Browse files
Patrick SoquetMichael Kellner
authored andcommitted
XS linker: strip Asynchronous Iteration support - REBUILD ALL FROM SCRATCH
1 parent d7207c2 commit 4687858

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

xs/tools/xslStrip.c

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,17 @@ void fxStripCallbacks(txLinker* linker, txMachine* the)
194194
if (!fxIsLinkerSymbolUsed(linker, mxID(_WeakSet)))
195195
fxStripClass(linker, the, mxID(_WeakSet));
196196
// Iterator ?
197+
if (!fxIsCodeUsed(XS_CODE_FOR_AWAIT_OF))
198+
fxStripInstance(linker, the, mxAsyncFromSyncIteratorPrototype.value.reference);
197199
// Generator
198200
if (!fxIsCodeUsed(XS_CODE_GENERATOR_FUNCTION)) {
199201
fxStripInstance(linker, the, mxGeneratorPrototype.value.reference);
200202
fxStripInstance(linker, the, mxGeneratorFunctionPrototype.value.reference);
201203
}
204+
if (!fxIsCodeUsed(XS_CODE_ASYNC_GENERATOR_FUNCTION)) {
205+
fxStripInstance(linker, the, mxAsyncGeneratorPrototype.value.reference);
206+
fxStripInstance(linker, the, mxAsyncGeneratorFunctionPrototype.value.reference);
207+
}
202208
// ArrayBuffer ?
203209
fxUnstripCallback(linker, fx_ArrayBuffer);
204210
// DataView
@@ -214,7 +220,7 @@ void fxStripCallbacks(txLinker* linker, txMachine* the)
214220
if (!fxIsLinkerSymbolUsed(linker, mxID(_JSON)))
215221
fxStripObject(linker, the, mxID(_JSON));
216222
// Promise
217-
if (!fxIsLinkerSymbolUsed(linker, mxID(_Promise)) && !fxIsCodeUsed(XS_CODE_ASYNC_FUNCTION) && !fxIsCodeUsed(XS_CODE_AWAIT) && !fxIsCodeUsed(XS_CODE_START_ASYNC)) {
223+
if (!fxIsLinkerSymbolUsed(linker, mxID(_Promise)) && !fxIsCodeUsed(XS_CODE_ASYNC_FUNCTION) && !fxIsCodeUsed(XS_CODE_ASYNC_GENERATOR_FUNCTION)) {
218224
fxStripClass(linker, the, mxID(_Promise));
219225
}
220226
else {
@@ -274,10 +280,6 @@ void fxStripDefaults(txLinker* linker, FILE* file)
274280
fprintf(file, "\tC_NULL,\n");
275281
fprintf(file, "\tC_NULL,\n");
276282
}
277-
if (fxIsCodeUsed(XS_CODE_AWAIT))
278-
fprintf(file, "\tfxRunAwait,\n");
279-
else
280-
fprintf(file, "\tC_NULL,\n");
281283
if (fxIsCodeUsed(XS_CODE_START_GENERATOR))
282284
fprintf(file, "\tfxNewGeneratorInstance,\n");
283285
else
@@ -286,6 +288,14 @@ void fxStripDefaults(txLinker* linker, FILE* file)
286288
fprintf(file, "\tfxNewGeneratorFunctionInstance,\n");
287289
else
288290
fprintf(file, "\tC_NULL,\n");
291+
if (fxIsCodeUsed(XS_CODE_START_ASYNC_GENERATOR))
292+
fprintf(file, "\tfxNewAsyncGeneratorInstance,\n");
293+
else
294+
fprintf(file, "\tC_NULL,\n");
295+
if (fxIsCodeUsed(XS_CODE_ASYNC_GENERATOR_FUNCTION))
296+
fprintf(file, "\tfxNewAsyncGeneratorFunctionInstance,\n");
297+
else
298+
fprintf(file, "\tC_NULL,\n");
289299
if (fxIsCodeUsed(XS_CODE_EVAL_ENVIRONMENT))
290300
fprintf(file, "\tfxRunEvalEnvironment,\n");
291301
else

0 commit comments

Comments
 (0)