Index: runtime/vm/intermediate_language_ia32.cc |
diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc |
index 913fb30644e3467c0b777fb557873b194f33c08b..0796ee996251792f40ef1c397ac05dbada3dc529 100644 |
--- a/runtime/vm/intermediate_language_ia32.cc |
+++ b/runtime/vm/intermediate_language_ia32.cc |
@@ -86,7 +86,6 @@ void ReturnInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ pushl(temp); |
compiler->GenerateCallRuntime(Isolate::kNoDeoptId, |
0, |
- CatchClauseNode::kInvalidTryIndex, |
kTraceFunctionExitRuntimeEntry, |
locs()); |
__ popl(temp); // Remove argument. |
@@ -116,8 +115,7 @@ void ReturnInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ nop(1); |
compiler->AddCurrentDescriptor(PcDescriptors::kReturn, |
deopt_id(), |
- token_pos(), |
- CatchClauseNode::kInvalidTryIndex); |
+ token_pos()); |
} |
@@ -213,7 +211,6 @@ void AssertBooleanComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ pushl(obj); // Push the source object. |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kConditionTypeErrorRuntimeEntry, |
locs()); |
// We should never return here. |
@@ -278,13 +275,11 @@ LocationSummary* EqualityCompareComp::MakeLocationSummary() const { |
static void EmitEqualityAsInstanceCall(FlowGraphCompiler* compiler, |
intptr_t deopt_id, |
intptr_t token_pos, |
- intptr_t try_index, |
Token::Kind kind, |
LocationSummary* locs) { |
compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, |
deopt_id, |
- token_pos, |
- try_index); |
+ token_pos); |
const String& operator_name = String::ZoneHandle(Symbols::New("==")); |
const int kNumberOfArguments = 2; |
const Array& kNoArgumentNames = Array::Handle(); |
@@ -322,7 +317,6 @@ static void EmitEqualityAsInstanceCall(FlowGraphCompiler* compiler, |
__ pushl(right); |
compiler->GenerateInstanceCall(deopt_id, |
token_pos, |
- try_index, |
operator_name, |
kNumberOfArguments, |
kNoArgumentNames, |
@@ -348,8 +342,7 @@ static void EmitEqualityAsPolymorphicCall(FlowGraphCompiler* compiler, |
BranchInstr* branch, |
Token::Kind kind, |
intptr_t deopt_id, |
- intptr_t token_pos, |
- intptr_t try_index) { |
+ intptr_t token_pos) { |
ASSERT((kind == Token::kEQ) || (kind == Token::kNE)); |
const ICData& ic_data = ICData::Handle(orig_ic_data.AsUnaryClassChecks()); |
ASSERT(ic_data.NumberOfChecks() > 0); |
@@ -402,7 +395,6 @@ static void EmitEqualityAsPolymorphicCall(FlowGraphCompiler* compiler, |
const Array& kNoArgumentNames = Array::Handle(); |
compiler->GenerateStaticCall(deopt_id, |
token_pos, |
- try_index, |
target, |
kNumberOfArguments, |
kNoArgumentNames, |
@@ -494,8 +486,7 @@ static void EmitGenericEqualityCompare(FlowGraphCompiler* compiler, |
BranchInstr* branch, |
const ICData& ic_data, |
intptr_t deopt_id, |
- intptr_t token_pos, |
- intptr_t try_index) { |
+ intptr_t token_pos) { |
ASSERT((kind == Token::kEQ) || (kind == Token::kNE)); |
ASSERT(!ic_data.IsNull() && (ic_data.NumberOfChecks() > 0)); |
Register left = locs->in(0).reg(); |
@@ -527,7 +518,7 @@ static void EmitGenericEqualityCompare(FlowGraphCompiler* compiler, |
__ pushl(left); |
__ pushl(right); |
EmitEqualityAsPolymorphicCall(compiler, ic_data, locs, branch, kind, |
- deopt_id, token_pos, try_index); |
+ deopt_id, token_pos); |
__ Bind(&done); |
} |
@@ -632,19 +623,14 @@ void EqualityCompareComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
} |
if (HasICData() && (ic_data()->NumberOfChecks() > 0)) { |
EmitGenericEqualityCompare(compiler, locs(), kind(), kNoBranch, *ic_data(), |
- deopt_id(), token_pos(), try_index()); |
+ deopt_id(), token_pos()); |
return; |
} |
Register left = locs()->in(0).reg(); |
Register right = locs()->in(1).reg(); |
__ pushl(left); |
__ pushl(right); |
- EmitEqualityAsInstanceCall(compiler, |
- deopt_id(), |
- token_pos(), |
- try_index(), |
- kind(), |
- locs()); |
+ EmitEqualityAsInstanceCall(compiler, deopt_id(), token_pos(), kind(), locs()); |
ASSERT(locs()->out().reg() == EAX); |
} |
@@ -671,7 +657,7 @@ void EqualityCompareComp::EmitBranchCode(FlowGraphCompiler* compiler, |
} |
if (HasICData() && (ic_data()->NumberOfChecks() > 0)) { |
EmitGenericEqualityCompare(compiler, locs(), kind(), branch, *ic_data(), |
- deopt_id(), token_pos(), try_index()); |
+ deopt_id(), token_pos()); |
return; |
} |
Register left = locs()->in(0).reg(); |
@@ -681,7 +667,6 @@ void EqualityCompareComp::EmitBranchCode(FlowGraphCompiler* compiler, |
EmitEqualityAsInstanceCall(compiler, |
deopt_id(), |
token_pos(), |
- try_index(), |
Token::kEQ, // kNE reverse occurs at branch. |
locs()); |
Condition branch_condition = (kind() == Token::kNE) ? NOT_EQUAL : EQUAL; |
@@ -749,7 +734,6 @@ void RelationalOpComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
deopt, // Deoptimize target. |
deopt_id(), |
token_pos(), |
- try_index(), |
locs()); |
return; |
} |
@@ -757,13 +741,11 @@ void RelationalOpComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
String::ZoneHandle(Symbols::New(Token::Str(kind()))); |
compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, |
deopt_id(), |
- token_pos(), |
- try_index()); |
+ token_pos()); |
const intptr_t kNumArguments = 2; |
const intptr_t kNumArgsChecked = 2; // Type-feedback. |
compiler->GenerateInstanceCall(deopt_id(), |
token_pos(), |
- try_index(), |
function_name, |
kNumArguments, |
Array::ZoneHandle(), // No optional arguments. |
@@ -823,7 +805,6 @@ void NativeCallComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ movl(ECX, Immediate(reinterpret_cast<uword>(native_c_function()))); |
__ movl(EDX, Immediate(arg_count)); |
compiler->GenerateCall(token_pos(), |
- try_index(), |
&StubCode::CallNativeCFunctionLabel(), |
PcDescriptors::kOther, |
locs()); |
@@ -1040,7 +1021,6 @@ void InstanceOfComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
compiler->GenerateInstanceOf(deopt_id(), |
token_pos(), |
- try_index(), |
type(), |
negate_result(), |
locs()); |
@@ -1064,7 +1044,6 @@ void CreateArrayComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
ASSERT(locs()->in(0).reg() == ECX); |
__ movl(EDX, Immediate(Smi::RawValue(ArgumentCount()))); |
compiler->GenerateCall(token_pos(), |
- try_index(), |
&StubCode::AllocateArrayLabel(), |
PcDescriptors::kOther, |
locs()); |
@@ -1106,7 +1085,6 @@ void AllocateObjectWithBoundsCheckComp::EmitNativeCode( |
__ pushl(instantiator_type_arguments); |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kAllocateObjectWithBoundsCheckRuntimeEntry, |
locs()); |
// Pop instantiator type arguments, type arguments, and class. |
@@ -1193,7 +1171,6 @@ void InstantiateTypeArgumentsComp::EmitNativeCode( |
__ pushl(instantiator_reg); // Push instantiator type arguments. |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kInstantiateTypeArgumentsRuntimeEntry, |
locs()); |
__ Drop(2); // Drop instantiator and uninstantiated type arguments. |
@@ -1349,7 +1326,6 @@ void AllocateContextComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
const ExternalLabel label("alloc_context", |
StubCode::AllocateContextEntryPoint()); |
compiler->GenerateCall(token_pos(), |
- try_index(), |
&label, |
PcDescriptors::kOther, |
locs()); |
@@ -1375,7 +1351,6 @@ void CloneContextComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ pushl(context_value); |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kCloneContextRuntimeEntry, |
locs()); |
__ popl(result); // Remove argument. |
@@ -1431,7 +1406,6 @@ class CheckStackOverflowSlowPath : public SlowPathCode { |
compiler->SaveLiveRegisters(computation_->locs()); |
compiler->GenerateCallRuntime(computation_->deopt_id(), |
computation_->token_pos(), |
- computation_->try_index(), |
kStackOverflowRuntimeEntry, |
computation_->locs()); |
compiler->RestoreLiveRegisters(computation_->locs()); |
@@ -1620,7 +1594,6 @@ void BinarySmiOpComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
compiler->GenerateStaticCall( |
instance_call()->deopt_id(), |
instance_call()->token_pos(), |
- instance_call()->try_index(), |
target, |
kArgumentCount, |
Array::Handle(), // No argument names. |
@@ -1727,7 +1700,6 @@ void BinaryMintOpComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
compiler->GenerateStaticCall( |
instance_call()->deopt_id(), |
instance_call()->token_pos(), |
- instance_call()->try_index(), |
target, |
instance_call()->ArgumentCount(), |
instance_call()->argument_names(), |
@@ -1749,7 +1721,6 @@ void BinaryMintOpComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
compiler->GenerateStaticCall( |
instance_call()->deopt_id(), |
instance_call()->token_pos(), |
- instance_call()->try_index(), |
target, |
instance_call()->ArgumentCount(), |
instance_call()->argument_names(), |
@@ -1777,7 +1748,6 @@ void BinaryDoubleOpComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
Code::Handle(StubCode::GetAllocationStubForClass(double_class)); |
const ExternalLabel label(double_class.ToCString(), stub.EntryPoint()); |
compiler->GenerateCall(instance_call()->token_pos(), |
- instance_call()->try_index(), |
&label, |
PcDescriptors::kOther, |
locs()); |
@@ -1870,7 +1840,6 @@ class BoxDoubleSlowPath : public SlowPathCode { |
compiler->SaveLiveRegisters(locs); |
compiler->GenerateCall(computation_->instance_call()->token_pos(), |
- computation_->instance_call()->try_index(), |
&label, |
PcDescriptors::kOther, |
locs); |
@@ -2035,7 +2004,6 @@ void NumberNegateComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
const ExternalLabel label(double_class.ToCString(), stub.EntryPoint()); |
__ pushl(value); |
compiler->GenerateCall(instance_call()->token_pos(), |
- instance_call()->try_index(), |
&label, |
PcDescriptors::kOther, |
locs()); |
@@ -2098,7 +2066,6 @@ void SmiToDoubleComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
// TODO(vegorov): allocate box in the driver loop to avoid spilling. |
compiler->GenerateCall(instance_call()->token_pos(), |
- instance_call()->try_index(), |
&label, |
PcDescriptors::kOther, |
locs()); |
@@ -2134,7 +2101,6 @@ void PolymorphicInstanceCallComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
const Function& target = Function::ZoneHandle(ic_data()->GetTargetAt(0)); |
compiler->GenerateStaticCall(instance_call()->deopt_id(), |
instance_call()->token_pos(), |
- instance_call()->try_index(), |
target, |
instance_call()->ArgumentCount(), |
instance_call()->argument_names(), |
@@ -2160,7 +2126,6 @@ void PolymorphicInstanceCallComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
deopt, |
instance_call()->deopt_id(), |
instance_call()->token_pos(), |
- instance_call()->try_index(), |
locs()); |
} |