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

Unified Diff: src/interpreter/bytecode-array-builder.cc

Issue 2450243002: [ignition] Add a property call bytecode (Closed)
Patch Set: Fix tests Created 4 years, 2 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-array-builder.cc
diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
index 7f22ccbb4b7eb00efcecdecc0b6e0f38c59bf9fc..3c56ec9068dd0d36e37711ec1422774b7f97394e 100644
--- a/src/interpreter/bytecode-array-builder.cc
+++ b/src/interpreter/bytecode-array-builder.cc
@@ -824,9 +824,15 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::MarkTryEnd(int handler_id) {
BytecodeArrayBuilder& BytecodeArrayBuilder::Call(Register callable,
RegisterList args,
int feedback_slot,
- TailCallMode tail_call_mode) {
+ TailCallMode tail_call_mode,
+ Call::CallType call_type) {
if (tail_call_mode == TailCallMode::kDisallow) {
- OutputCall(callable, args, args.register_count(), feedback_slot);
+ if (call_type == Call::NAMED_PROPERTY_CALL ||
+ call_type == Call::KEYED_PROPERTY_CALL) {
+ OutputCallProperty(callable, args, args.register_count(), feedback_slot);
+ } else {
+ OutputCall(callable, args, args.register_count(), feedback_slot);
+ }
} else {
DCHECK(tail_call_mode == TailCallMode::kAllow);
rmcilroy 2016/10/26 16:20:16 We should we do this for tail-calls too? Michi - a
Michael Starzinger 2016/10/26 18:03:01 It is currently staged as an experimental feature.
Leszek Swirski 2016/10/27 09:08:24 I left it as-is to not have to introduce another b
OutputTailCall(callable, args, args.register_count(), feedback_slot);

Powered by Google App Engine
This is Rietveld 408576698