| Index: runtime/vm/deopt_instructions.cc
|
| diff --git a/runtime/vm/deopt_instructions.cc b/runtime/vm/deopt_instructions.cc
|
| index 1c6f754176fc5fff18fb28a6121ca76017768938..345db49623f3a3f101a6133ec1a0eebf84f909c5 100644
|
| --- a/runtime/vm/deopt_instructions.cc
|
| +++ b/runtime/vm/deopt_instructions.cc
|
| @@ -345,42 +345,6 @@ void DeoptContext::FillDestFrame() {
|
| }
|
|
|
|
|
| -intptr_t* DeoptContext::CatchEntryState(intptr_t num_vars) {
|
| - const Code& code = Code::Handle(code_);
|
| - const TypedData& deopt_info = TypedData::Handle(deopt_info_);
|
| - GrowableArray<DeoptInstr*> deopt_instructions;
|
| - const Array& deopt_table = Array::Handle(code.deopt_info_array());
|
| - ASSERT(!deopt_table.IsNull());
|
| - DeoptInfo::Unpack(deopt_table, deopt_info, &deopt_instructions);
|
| -
|
| - intptr_t* state = new intptr_t[2 * num_vars + 1];
|
| - state[0] = num_vars;
|
| -
|
| - Function& function = Function::Handle(zone(), code.function());
|
| - intptr_t params =
|
| - function.HasOptionalParameters() ? 0 : function.num_fixed_parameters();
|
| - for (intptr_t i = 0; i < num_vars; i++) {
|
| -#if defined(TARGET_ARCH_DBC)
|
| - const intptr_t len = deopt_instructions.length();
|
| - intptr_t slot = i < params ? i : i + kParamEndSlotFromFp;
|
| - DeoptInstr* instr = deopt_instructions[len - 1 - slot];
|
| - intptr_t dest_index = kNumberOfCpuRegisters - 1 - i;
|
| -#else
|
| - const intptr_t len = deopt_instructions.length();
|
| - intptr_t slot =
|
| - i < params ? i : i + kParamEndSlotFromFp - kFirstLocalSlotFromFp;
|
| - DeoptInstr* instr = deopt_instructions[len - 1 - slot];
|
| - intptr_t dest_index = i - params;
|
| -#endif
|
| - CatchEntryStatePair p = instr->ToCatchEntryStatePair(this, dest_index);
|
| - state[1 + 2 * i] = p.src;
|
| - state[2 + 2 * i] = p.dest;
|
| - }
|
| -
|
| - return state;
|
| -}
|
| -
|
| -
|
| static void FillDeferredSlots(DeoptContext* deopt_context,
|
| DeferredSlot** slot_list) {
|
| DeferredSlot* slot = *slot_list;
|
| @@ -521,11 +485,6 @@ class DeoptConstantInstr : public DeoptInstr {
|
| *reinterpret_cast<RawObject**>(dest_addr) = obj.raw();
|
| }
|
|
|
| - CatchEntryStatePair ToCatchEntryStatePair(DeoptContext* deopt_context,
|
| - intptr_t dest_slot) {
|
| - return CatchEntryStatePair::FromConstant(object_table_index_, dest_slot);
|
| - }
|
| -
|
| private:
|
| const intptr_t object_table_index_;
|
|
|
| @@ -554,12 +513,6 @@ class DeoptWordInstr : public DeoptInstr {
|
| *dest_addr = source_.Value<intptr_t>(deopt_context);
|
| }
|
|
|
| - CatchEntryStatePair ToCatchEntryStatePair(DeoptContext* deopt_context,
|
| - intptr_t dest_slot) {
|
| - return CatchEntryStatePair::FromMove(source_.StackSlot(deopt_context),
|
| - dest_slot);
|
| - }
|
| -
|
| private:
|
| const CpuRegisterSource source_;
|
|
|
|
|