| 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 bdf4c471656c5c0c03fb0bec192f8f662a9d9856..5c94ccf7c3b2d07bb6ce1b379cf99d14135080db 100644
|
| --- a/src/compiler/arm/code-generator-arm.cc
|
| +++ b/src/compiler/arm/code-generator-arm.cc
|
| @@ -54,6 +54,7 @@ class ArmOperandConverter final : public InstructionOperandConverter {
|
| SBit OutputSBit() const {
|
| switch (instr_->flags_mode()) {
|
| case kFlags_branch:
|
| + case kFlags_deoptimize:
|
| case kFlags_set:
|
| return SetCC;
|
| case kFlags_none:
|
| @@ -409,7 +410,7 @@ void CodeGenerator::AssemblePrepareTailCall(int stack_param_delta) {
|
| void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| ArmOperandConverter i(this, instr);
|
|
|
| - masm()->MaybeCheckConstPool();
|
| + __ MaybeCheckConstPool();
|
|
|
| switch (ArchOpcodeField::decode(instr->opcode())) {
|
| case kArchCallCodeObject: {
|
| @@ -1155,7 +1156,11 @@ void 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.
|
| __ Call(deopt_entry, RelocInfo::RUNTIME_ENTRY);
|
| + __ CheckConstPool(false, false);
|
| }
|
|
|
|
|
|
|