Index: src/compiler/bytecode-graph-builder.cc |
diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc |
index 8a33edd8b8db4a0ff59b7dadaed53846d6c220fb..1f0a2155755b370a2135dfbc72d8d691214f8c3e 100644 |
--- a/src/compiler/bytecode-graph-builder.cc |
+++ b/src/compiler/bytecode-graph-builder.cc |
@@ -10,6 +10,7 @@ |
#include "src/compiler/compiler-source-position-table.h" |
#include "src/compiler/linkage.h" |
#include "src/compiler/operator-properties.h" |
+#include "src/compiler/simplified-operator.h" |
#include "src/interpreter/bytecodes.h" |
#include "src/objects-inl.h" |
@@ -1696,6 +1697,12 @@ void BytecodeGraphBuilder::VisitJumpIfNotHoleConstant() { |
BuildJumpIfNotHole(); |
} |
+void BytecodeGraphBuilder::VisitJumpIfJSReceiver() { BuildJumpIfJSReceiver(); } |
+ |
+void BytecodeGraphBuilder::VisitJumpIfJSReceiverConstant() { |
+ BuildJumpIfJSReceiver(); |
+} |
+ |
void BytecodeGraphBuilder::VisitJumpIfNull() { |
BuildJumpIfEqual(jsgraph()->NullConstant()); |
} |
@@ -2007,6 +2014,12 @@ void BytecodeGraphBuilder::BuildJumpIfNotHole() { |
BuildJumpIfNot(condition); |
} |
+void BytecodeGraphBuilder::BuildJumpIfJSReceiver() { |
+ Node* accumulator = environment()->LookupAccumulator(); |
+ Node* condition = NewNode(simplified()->ObjectIsReceiver(), accumulator); |
+ BuildJumpIf(condition); |
+} |
+ |
Node** BytecodeGraphBuilder::EnsureInputBufferSize(int size) { |
if (size > input_buffer_size_) { |
size = size + kInputBufferSizeIncrement + input_buffer_size_; |