| Index: src/compiler/arm/code-generator-arm.cc | 
| diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc | 
| index 6e0690b13bcc240887c0703d0dd1854b01fc9211..5900955e78fd9d2eb8e7d00f0cf19695dc8fd069 100644 | 
| --- a/src/compiler/arm/code-generator-arm.cc | 
| +++ b/src/compiler/arm/code-generator-arm.cc | 
| @@ -450,7 +450,8 @@ void CodeGenerator::AssemblePopArgumentsAdaptorFrame(Register args_reg, | 
| } | 
|  | 
| // Assembles an instruction after register allocation, producing machine code. | 
| -void CodeGenerator::AssembleArchInstruction(Instruction* instr) { | 
| +CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( | 
| +    Instruction* instr) { | 
| ArmOperandConverter i(this, instr); | 
|  | 
| __ MaybeCheckConstPool(); | 
| @@ -584,7 +585,9 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { | 
| BuildTranslation(instr, -1, 0, OutputFrameStateCombine::Ignore()); | 
| Deoptimizer::BailoutType bailout_type = | 
| Deoptimizer::BailoutType(MiscField::decode(instr->opcode())); | 
| -      AssembleDeoptimizerCall(deopt_state_id, bailout_type); | 
| +      CodeGenResult result = | 
| +          AssembleDeoptimizerCall(deopt_state_id, bailout_type); | 
| +      if (result != kSuccess) return result; | 
| break; | 
| } | 
| case kArchRet: | 
| @@ -1272,6 +1275,7 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { | 
| ASSEMBLE_ATOMIC_LOAD_INTEGER(ldr); | 
| break; | 
| } | 
| +  return kSuccess; | 
| }  // NOLINT(readability/fn_size) | 
|  | 
|  | 
| @@ -1332,16 +1336,17 @@ void CodeGenerator::AssembleArchTableSwitch(Instruction* instr) { | 
| } | 
| } | 
|  | 
| - | 
| -void CodeGenerator::AssembleDeoptimizerCall( | 
| +CodeGenerator::CodeGenResult CodeGenerator::AssembleDeoptimizerCall( | 
| int deoptimization_id, Deoptimizer::BailoutType bailout_type) { | 
| Address deopt_entry = Deoptimizer::GetDeoptimizationEntry( | 
| isolate(), deoptimization_id, bailout_type); | 
| // TODO(turbofan): We should be able to generate better code by sharing the | 
| // actual final call site and just bl'ing to it here, similar to what we do | 
| // in the lithium backend. | 
| +  if (deopt_entry == nullptr) return kTooManyDeoptimizationBailouts; | 
| __ Call(deopt_entry, RelocInfo::RUNTIME_ENTRY); | 
| __ CheckConstPool(false, false); | 
| +  return kSuccess; | 
| } | 
|  | 
| void CodeGenerator::FinishFrame(Frame* frame) { | 
|  |