Index: runtime/vm/intermediate_language_x64.cc |
diff --git a/runtime/vm/intermediate_language_x64.cc b/runtime/vm/intermediate_language_x64.cc |
index 62db0564d927bb5d7ae8a11b8e11bae8a9c90b40..f30ffd14a90e68b2bcfc6d6ad8f3280bc5e9ecbf 100644 |
--- a/runtime/vm/intermediate_language_x64.cc |
+++ b/runtime/vm/intermediate_language_x64.cc |
@@ -87,7 +87,6 @@ void ReturnInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ pushq(temp); |
compiler->GenerateCallRuntime(Isolate::kNoDeoptId, |
0, |
- CatchClauseNode::kInvalidTryIndex, |
kTraceFunctionExitRuntimeEntry, |
NULL); |
__ popq(temp); // Remove argument. |
@@ -125,8 +124,7 @@ void ReturnInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ nop(1); |
compiler->AddCurrentDescriptor(PcDescriptors::kReturn, |
deopt_id(), |
- token_pos(), |
- CatchClauseNode::kInvalidTryIndex); |
+ token_pos()); |
} |
@@ -222,7 +220,6 @@ void AssertBooleanComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ pushq(obj); // Push the source object. |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kConditionTypeErrorRuntimeEntry, |
locs()); |
// We should never return here. |
@@ -287,13 +284,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(); |
@@ -331,7 +326,6 @@ static void EmitEqualityAsInstanceCall(FlowGraphCompiler* compiler, |
__ pushq(right); |
compiler->GenerateInstanceCall(deopt_id, |
token_pos, |
- try_index, |
operator_name, |
kNumberOfArguments, |
kNoArgumentNames, |
@@ -357,8 +351,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); |
@@ -412,7 +405,6 @@ static void EmitEqualityAsPolymorphicCall(FlowGraphCompiler* compiler, |
const Array& kNoArgumentNames = Array::Handle(); |
compiler->GenerateStaticCall(deopt_id, |
token_pos, |
- try_index, |
target, |
kNumberOfArguments, |
kNoArgumentNames, |
@@ -504,8 +496,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(); |
@@ -537,7 +528,7 @@ static void EmitGenericEqualityCompare(FlowGraphCompiler* compiler, |
__ pushq(left); |
__ pushq(right); |
EmitEqualityAsPolymorphicCall(compiler, ic_data, locs, branch, kind, |
- deopt_id, token_pos, try_index); |
+ deopt_id, token_pos); |
__ Bind(&done); |
} |
@@ -642,7 +633,7 @@ 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(); |
@@ -652,7 +643,6 @@ void EqualityCompareComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
EmitEqualityAsInstanceCall(compiler, |
deopt_id(), |
token_pos(), |
- try_index(), |
kind(), |
locs()); |
ASSERT(locs()->out().reg() == RAX); |
@@ -681,7 +671,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(); |
@@ -691,7 +681,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; |
@@ -760,7 +749,6 @@ void RelationalOpComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
deopt, // Deoptimize target. |
deopt_id(), |
token_pos(), |
- try_index(), |
locs()); |
return; |
} |
@@ -768,13 +756,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. |
@@ -834,7 +820,6 @@ void NativeCallComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ movq(RBX, Immediate(reinterpret_cast<uword>(native_c_function()))); |
__ movq(R10, Immediate(arg_count)); |
compiler->GenerateCall(token_pos(), |
- try_index(), |
&StubCode::CallNativeCFunctionLabel(), |
PcDescriptors::kOther, |
locs()); |
@@ -1057,7 +1042,6 @@ void InstanceOfComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
compiler->GenerateInstanceOf(deopt_id(), |
token_pos(), |
- try_index(), |
type(), |
negate_result(), |
locs()); |
@@ -1081,7 +1065,6 @@ void CreateArrayComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
ASSERT(locs()->in(0).reg() == RBX); |
__ movq(R10, Immediate(Smi::RawValue(ArgumentCount()))); |
compiler->GenerateCall(token_pos(), |
- try_index(), |
&StubCode::AllocateArrayLabel(), |
PcDescriptors::kOther, |
locs()); |
@@ -1123,7 +1106,6 @@ void AllocateObjectWithBoundsCheckComp::EmitNativeCode( |
__ pushq(instantiator_type_arguments); |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kAllocateObjectWithBoundsCheckRuntimeEntry, |
locs()); |
// Pop instantiator type arguments, type arguments, and class. |
@@ -1207,7 +1189,6 @@ void InstantiateTypeArgumentsComp::EmitNativeCode( |
__ pushq(instantiator_reg); // Push instantiator type arguments. |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kInstantiateTypeArgumentsRuntimeEntry, |
locs()); |
__ Drop(2); // Drop instantiator and uninstantiated type arguments. |
@@ -1359,7 +1340,6 @@ void AllocateContextComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
const ExternalLabel label("alloc_context", |
StubCode::AllocateContextEntryPoint()); |
compiler->GenerateCall(token_pos(), |
- try_index(), |
&label, |
PcDescriptors::kOther, |
locs()); |
@@ -1385,7 +1365,6 @@ void CloneContextComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ pushq(context_value); |
compiler->GenerateCallRuntime(deopt_id(), |
token_pos(), |
- try_index(), |
kCloneContextRuntimeEntry, |
locs()); |
__ popq(result); // Remove argument. |
@@ -1442,7 +1421,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()); |
@@ -1632,7 +1610,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. |
@@ -1737,7 +1714,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(), |
@@ -1759,7 +1735,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(), |
@@ -1787,7 +1762,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()); |
@@ -1880,7 +1854,6 @@ class BoxDoubleSlowPath : public SlowPathCode { |
compiler->SaveLiveRegisters(locs); |
compiler->GenerateCall(computation_->instance_call()->token_pos(), |
- computation_->instance_call()->try_index(), |
&label, |
PcDescriptors::kOther, |
locs); |
@@ -2045,7 +2018,6 @@ void NumberNegateComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
const ExternalLabel label(double_class.ToCString(), stub.EntryPoint()); |
__ pushq(value); |
compiler->GenerateCall(instance_call()->token_pos(), |
- instance_call()->try_index(), |
&label, |
PcDescriptors::kOther, |
instance_call()->locs()); |
@@ -2108,7 +2080,6 @@ void SmiToDoubleComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
// TODO(fschneider): Inline new-space allocation and move the call into |
// deferred code. |
compiler->GenerateCall(instance_call()->token_pos(), |
- instance_call()->try_index(), |
&label, |
PcDescriptors::kOther, |
locs()); |
@@ -2144,7 +2115,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(), |
@@ -2168,7 +2138,6 @@ void PolymorphicInstanceCallComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
deopt, |
instance_call()->deopt_id(), |
instance_call()->token_pos(), |
- instance_call()->try_index(), |
locs()); |
} |