Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Unified Diff: src/interpreter/bytecode-generator.cc

Issue 2703563002: [ESNext] Implement DynamicImportCall (Closed)
Patch Set: use function_closure Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/interpreter/bytecode-generator.cc
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc
index 052f29367dadd6a4fa1b5fca9948f9ffe4c66a41..6ab3c9530d156319b780f2689bbace255cb3b835 100644
--- a/src/interpreter/bytecode-generator.cc
+++ b/src/interpreter/bytecode-generator.cc
@@ -3003,6 +3003,15 @@ void BytecodeGenerator::VisitEmptyParentheses(EmptyParentheses* expr) {
UNREACHABLE();
}
+void BytecodeGenerator::VisitImportCallExpression(ImportCallExpression* expr) {
+ RegisterList args = register_allocator()->NewRegisterList(2);
+ VisitForRegisterValue(expr->argument(), args[1]);
+ builder()
+ ->LoadAccumulatorWithRegister(Register::function_closure())
+ .StoreAccumulatorInRegister(args[0])
+ .CallRuntime(Runtime::kDynamicImportCall, args);
+}
+
void BytecodeGenerator::VisitGetIterator(GetIterator* expr) {
FeedbackSlot load_slot = expr->IteratorPropertyFeedbackSlot();
FeedbackSlot call_slot = expr->IteratorCallFeedbackSlot();

Powered by Google App Engine
This is Rietveld 408576698