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

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

Issue 2703563002: [ESNext] Implement DynamicImportCall (Closed)
Patch Set: simplify error handling 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 f67e7b927c28e4a9502c50b1ae98b1c652d48cf9..3e9313c3fb852c2927b1630b01ec6fc037bf239f 100644
--- a/src/interpreter/bytecode-generator.cc
+++ b/src/interpreter/bytecode-generator.cc
@@ -3034,6 +3034,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])
rmcilroy 2017/03/17 08:51:27 MoveRegister(...) instead of load/storeaccumulator
gsathya 2017/03/17 21:47:59 Done.
+ .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