| Index: src/interpreter/interpreter.cc
|
| diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc
|
| index 1d467e300fe3894a9590bac62d03a7ddca173d33..6059e91ff6d69025216cac3445dd2ead155e98d3 100644
|
| --- a/src/interpreter/interpreter.cc
|
| +++ b/src/interpreter/interpreter.cc
|
| @@ -1603,8 +1603,7 @@ void Interpreter::DoJumpIfNullConstantWide(
|
| DoJumpIfNullConstant(assembler);
|
| }
|
|
|
| -
|
| -// jumpifundefined <imm8>
|
| +// JumpIfUndefined <imm8>
|
| //
|
| // Jump by number of bytes represented by an immediate operand if the object
|
| // referenced by the accumulator is the undefined constant.
|
| @@ -1642,6 +1641,27 @@ void Interpreter::DoJumpIfUndefinedConstantWide(
|
| DoJumpIfUndefinedConstant(assembler);
|
| }
|
|
|
| +// JumpIfHole <imm8>
|
| +//
|
| +// Jump by number of bytes represented by an immediate operand if the object
|
| +// referenced by the accumulator is the hole.
|
| +void Interpreter::DoJumpIfHole(compiler::InterpreterAssembler* assembler) {
|
| + Node* accumulator = __ GetAccumulator();
|
| + Node* the_hole_value = __ HeapConstant(isolate_->factory()->the_hole_value());
|
| + Node* relative_jump = __ BytecodeOperandImm(0);
|
| + __ JumpIfWordEqual(accumulator, the_hole_value, relative_jump);
|
| +}
|
| +
|
| +// JumpIfNotHole <imm8>
|
| +//
|
| +// Jump by number of bytes represented by an immediate operand if the object
|
| +// referenced by the accumulator is not the hole.
|
| +void Interpreter::DoJumpIfNotHole(compiler::InterpreterAssembler* assembler) {
|
| + Node* accumulator = __ GetAccumulator();
|
| + Node* the_hole_value = __ HeapConstant(isolate_->factory()->the_hole_value());
|
| + Node* relative_jump = __ BytecodeOperandImm(0);
|
| + __ JumpIfWordNotEqual(accumulator, the_hole_value, relative_jump);
|
| +}
|
|
|
| void Interpreter::DoCreateLiteral(Runtime::FunctionId function_id,
|
| compiler::InterpreterAssembler* assembler) {
|
|
|