Skip to content

Commit e5717b8

Browse files
committed
Simplify ContinueDynamicImport now that module.Evaluate() always returns a promise.
(cherry picked from commit ec360bc)
1 parent ed2bf35 commit e5717b8

File tree

1 file changed

+2
-12
lines changed

1 file changed

+2
-12
lines changed

graal-js/src/com.oracle.truffle.js/src/com/oracle/truffle/js/nodes/promise/ImportCallNode.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
import com.oracle.truffle.js.runtime.builtins.JSPromise;
8282
import com.oracle.truffle.js.runtime.builtins.JSPromiseObject;
8383
import com.oracle.truffle.js.runtime.objects.AbstractModuleRecord;
84-
import com.oracle.truffle.js.runtime.objects.CyclicModuleRecord;
8584
import com.oracle.truffle.js.runtime.objects.JSDynamicObject;
8685
import com.oracle.truffle.js.runtime.objects.JSObject;
8786
import com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord;
@@ -381,18 +380,9 @@ protected Object executeInRealm(VirtualFrame frame) {
381380
// If link is an abrupt completion, reject the promise from import().
382381
moduleRecord.link(realm);
383382

384-
// Evaluate() should always return a promise.
385-
// Yet, if top-level-await is disabled, returns/throws the result instead.
386383
JSPromiseObject evaluatePromise = moduleRecord.evaluate(realm);
387-
if (context.isOptionTopLevelAwait() || !(moduleRecord instanceof CyclicModuleRecord cyclicModuleRecord)) {
388-
JSFunctionObject onFulfilled = createFulfilledClosure(context, realm, captures);
389-
promiseThenNode.execute(evaluatePromise, onFulfilled, onRejected);
390-
} else {
391-
// Rethrow any previous execution errors.
392-
cyclicModuleRecord.getExecutionResultOrThrow();
393-
var namespace = moduleRecord.getModuleNamespace();
394-
callPromiseResolve.executeCall(JSArguments.createOneArg(Undefined.instance, importPromiseCapability.getResolve(), namespace));
395-
}
384+
JSFunctionObject onFulfilled = createFulfilledClosure(context, realm, captures);
385+
promiseThenNode.execute(evaluatePromise, onFulfilled, onRejected);
396386
} catch (AbstractTruffleException ex) {
397387
rejectPromise(importPromiseCapability, ex);
398388
}

0 commit comments

Comments
 (0)