Chromium Code Reviews| Index: src/interpreter/bytecode-generator.cc |
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
| index 61f09ac2e3726d9cddd3a7d65075a53a11a23188..650234a58447d506cd28659f0a9c4c49bd38a332 100644 |
| --- a/src/interpreter/bytecode-generator.cc |
| +++ b/src/interpreter/bytecode-generator.cc |
| @@ -655,10 +655,14 @@ void BytecodeGenerator::BuildIndexedJump(Register index, size_t start_index, |
| .CompareOperation(Token::Value::EQ_STRICT, index) |
| .JumpIfTrue(&(targets[i])); |
| } |
| - // TODO(oth): This should be an abort via the runtime with a |
| - // corresponding message., An illegal bytecode should never be |
| - // emitted in valid bytecode. |
| - builder()->Illegal(); // Should never get here. |
| + |
| + RegisterAllocationScope register_scope(this); |
|
rmcilroy
2016/05/13 12:41:27
Nit - put this in its own block.
|
| + Register reason = register_allocator()->NewRegister(); |
| + BailoutReason bailout_reason = BailoutReason::kInvalidJumpTableIndex; |
| + builder() |
| + ->LoadLiteral(Smi::FromInt(static_cast<int>(bailout_reason))) |
| + .StoreAccumulatorInRegister(reason) |
| + .CallRuntime(Runtime::kAbort, reason, 1); |
| } |
| void BytecodeGenerator::VisitIterationHeader(IterationStatement* stmt, |