Index: src/compiler/bytecode-graph-builder.cc |
diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc |
index fdbba747efae05390b71a9c6fc4de41ed2c68c92..208d6a018edb78e0473e2e11b59b8592e4e61bfc 100644 |
--- a/src/compiler/bytecode-graph-builder.cc |
+++ b/src/compiler/bytecode-graph-builder.cc |
@@ -1764,6 +1764,21 @@ void BytecodeGraphBuilder::VisitJumpIfUndefinedConstantWide( |
BuildJumpIfEqual(jsgraph()->UndefinedConstant()); |
} |
+void BytecodeGraphBuilder::VisitJumpIfHole( |
+ const interpreter::BytecodeArrayIterator& iterator) { |
+ BuildJumpIfEqual(jsgraph()->TheHoleConstant()); |
+} |
+ |
+void BytecodeGraphBuilder::VisitJumpIfNotHole( |
+ const interpreter::BytecodeArrayIterator& iterator) { |
+ Node* accumulator = environment()->LookupAccumulator(); |
+ Node* condition = NewNode(javascript()->StrictEqual(), accumulator, |
+ jsgraph()->TheHoleConstant()); |
+ Node* node = |
+ NewNode(common()->Select(MachineRepresentation::kTagged), condition, |
+ jsgraph()->FalseConstant(), jsgraph()->TrueConstant()); |
+ BuildConditionalJump(node); |
+} |
void BytecodeGraphBuilder::VisitReturn( |
const interpreter::BytecodeArrayIterator& iterator) { |