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

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

Issue 1688283003: [Interpreter] Implements calls through CallICStub in the interpreter. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 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 da04906d20a6345490978e552ba2ee1ca5bd69da..b45f2d5ca64a0302cc1c91499b3b9100058fca46 100644
--- a/src/interpreter/bytecode-generator.cc
+++ b/src/interpreter/bytecode-generator.cc
@@ -2285,8 +2285,13 @@ void BytecodeGenerator::VisitCall(Call* expr) {
}
builder()->SetExpressionPosition(expr);
- builder()->Call(callee, receiver, 1 + args->length(),
- feedback_index(expr->CallFeedbackICSlot()));
+ if (call_type == Call::POSSIBLY_EVAL_CALL ||
+ call_type == Call::LOOKUP_SLOT_CALL) {
rmcilroy 2016/02/12 14:21:03 Would this be the same if you did: if (expr->CallF
mythria 2016/02/17 11:02:48 Done. Yes, indeed. I missed it but Lookup_slot_cal
+ builder()->Call(callee, receiver, 1 + args->length());
+ } else {
+ builder()->CallIC(callee, receiver, 1 + args->length(),
+ feedback_index(expr->CallFeedbackICSlot()));
+ }
execution_result()->SetResultInAccumulator();
}

Powered by Google App Engine
This is Rietveld 408576698