Index: vm/intermediate_language_ia32.cc |
=================================================================== |
--- vm/intermediate_language_ia32.cc (revision 9042) |
+++ vm/intermediate_language_ia32.cc (working copy) |
@@ -99,7 +99,7 @@ |
__ nop(1); |
compiler->AddCurrentDescriptor(PcDescriptors::kReturn, |
cid(), |
- token_index(), |
+ token_pos(), |
CatchClauseNode::kInvalidTryIndex); |
} |
@@ -178,10 +178,10 @@ |
__ CompareObject(obj, compiler->bool_false()); |
__ j(EQUAL, &done, Assembler::kNearJump); |
- __ pushl(Immediate(Smi::RawValue(token_index()))); // Source location. |
+ __ pushl(Immediate(Smi::RawValue(token_pos()))); // Source location. |
__ pushl(obj); // Push the source object. |
compiler->GenerateCallRuntime(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
kConditionTypeErrorRuntimeEntry); |
// We should never return here. |
@@ -248,7 +248,7 @@ |
Register right = comp->locs()->in(1).reg(); |
Register temp = comp->locs()->temp(0).reg(); |
Label* deopt = compiler->AddDeoptStub(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
kDeoptSmiCompareSmis, |
left, |
@@ -278,7 +278,7 @@ |
EqualityCompareComp* comp) { |
compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, |
comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index()); |
const String& operator_name = String::ZoneHandle(String::NewSymbol("==")); |
const int kNumberOfArguments = 2; |
@@ -286,7 +286,7 @@ |
const int kNumArgumentsChecked = 2; |
compiler->GenerateInstanceCall(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
operator_name, |
kNumberOfArguments, |
@@ -310,7 +310,7 @@ |
ASSERT(ic_data.NumberOfChecks() > 0); |
ASSERT(ic_data.num_args_tested() == 1); |
Label* deopt = compiler->AddDeoptStub(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
kDeoptEquality); |
__ testl(left, Immediate(kSmiTagMask)); |
@@ -355,7 +355,7 @@ |
const int kNumberOfArguments = 2; |
const Array& kNoArgumentNames = Array::Handle(); |
compiler->GenerateStaticCall(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
target, |
kNumberOfArguments, |
@@ -473,7 +473,7 @@ |
Register right = comp->locs()->in(1).reg(); |
Register temp = comp->locs()->temp(0).reg(); |
Label* deopt = compiler->AddDeoptStub(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
kDeoptSmiCompareSmis, |
left, |
@@ -522,7 +522,7 @@ |
// TODO(srdjan): temp is only needed if a conversion Smi->Double occurs. |
Register temp = comp->locs()->temp(0).reg(); |
Label* deopt = compiler->AddDeoptStub(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
kDeoptDoubleComparison, |
left, |
@@ -567,12 +567,12 @@ |
String::ZoneHandle(String::NewSymbol(Token::Str(kind()))); |
compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, |
cid(), |
- token_index(), |
+ token_pos(), |
try_index()); |
const intptr_t kNumArguments = 2; |
const intptr_t kNumArgsChecked = 2; // Type-feedback. |
compiler->GenerateInstanceCall(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
function_name, |
kNumArguments, |
@@ -617,7 +617,7 @@ |
} |
__ movl(ECX, Immediate(reinterpret_cast<uword>(native_c_function()))); |
__ movl(EDX, Immediate(arg_count)); |
- compiler->GenerateCall(token_index(), |
+ compiler->GenerateCall(token_pos(), |
try_index(), |
&StubCode::CallNativeCFunctionLabel(), |
PcDescriptors::kOther); |
@@ -647,7 +647,7 @@ |
static void EmitLoadIndexedPolymorphic(FlowGraphCompiler* compiler, |
LoadIndexedComp* comp) { |
Label* deopt = compiler->AddDeoptStub(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
kDeoptLoadIndexedPolymorphic); |
if (comp->ic_data()->NumberOfChecks() == 0) { |
@@ -672,7 +672,7 @@ |
Array::Handle(), // No named arguments. |
deopt, &done, // Labels. |
comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index()); |
__ Bind(&done); |
} |
@@ -698,7 +698,7 @@ |
kDeoptLoadIndexedGrowableArray : kDeoptLoadIndexedFixedArray; |
Label* deopt = compiler->AddDeoptStub(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
deopt_reason, |
receiver, |
@@ -768,13 +768,13 @@ |
compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, |
comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index()); |
const intptr_t kNumArguments = 3; |
const intptr_t kNumArgsChecked = 1; // Type-feedback. |
compiler->GenerateInstanceCall(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
function_name, |
kNumArguments, |
@@ -786,7 +786,7 @@ |
static void EmitStoreIndexedPolymorphic(FlowGraphCompiler* compiler, |
StoreIndexedComp* comp) { |
Label* deopt = compiler->AddDeoptStub(comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index(), |
kDeoptStoreIndexedPolymorphic); |
if (comp->ic_data()->NumberOfChecks() == 0) { |
@@ -811,7 +811,7 @@ |
Array::Handle(), // No named arguments. |
deopt, &done, // Labels. |
comp->cid(), |
- comp->token_index(), |
+ comp->token_pos(), |
comp->try_index()); |
__ Bind(&done); |
} |
@@ -833,7 +833,7 @@ |
Register temp = locs()->temp(0).reg(); |
Label* deopt = compiler->AddDeoptStub(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
kDeoptStoreIndexed, |
receiver, |
@@ -891,12 +891,12 @@ |
compiler->AddCurrentDescriptor(PcDescriptors::kDeopt, |
cid(), |
- token_index(), |
+ token_pos(), |
try_index()); |
const intptr_t kArgumentCount = 2; |
const intptr_t kCheckedArgumentCount = 1; |
compiler->GenerateInstanceCall(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
function_name, |
kArgumentCount, |
@@ -923,7 +923,7 @@ |
__ pushl(value); |
__ pushl(value); |
compiler->GenerateStaticCall(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
setter_function(), |
1, |
@@ -948,7 +948,7 @@ |
if (HasICData()) { |
ASSERT(original() != NULL); |
Label* deopt = compiler->AddDeoptStub(original()->cid(), |
- original()->token_index(), |
+ original()->token_pos(), |
original()->try_index(), |
kDeoptInstanceGetterSameTarget, |
instance_reg); |
@@ -990,7 +990,7 @@ |
ASSERT(locs()->in(2).reg() == EDX); // Instantiator type arguments. |
compiler->GenerateInstanceOf(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
type(), |
negate_result()); |
@@ -1023,7 +1023,7 @@ |
ASSERT(temp_reg == EDX); |
ASSERT(locs()->in(0).reg() == ECX); |
__ movl(temp_reg, Immediate(Smi::RawValue(ElementCount()))); |
- compiler->GenerateCall(token_index(), |
+ compiler->GenerateCall(token_pos(), |
try_index(), |
&StubCode::AllocateArrayLabel(), |
PcDescriptors::kOther); |
@@ -1055,12 +1055,12 @@ |
// Push the result place holder initialized to NULL. |
__ PushObject(Object::ZoneHandle()); |
- __ pushl(Immediate(Smi::RawValue(token_index()))); |
+ __ pushl(Immediate(Smi::RawValue(token_pos()))); |
__ PushObject(cls); |
__ pushl(type_arguments); |
__ pushl(instantiator_type_arguments); |
compiler->GenerateCallRuntime(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
kAllocateObjectWithBoundsCheckRuntimeEntry); |
// Pop instantiator type arguments, type arguments, class, and |
@@ -1081,7 +1081,7 @@ |
if (HasICData()) { |
ASSERT(original() != NULL); |
Label* deopt = compiler->AddDeoptStub(original()->cid(), |
- original()->token_index(), |
+ original()->token_pos(), |
original()->try_index(), |
kDeoptInstanceGetterSameTarget, |
instance_reg); |
@@ -1148,7 +1148,7 @@ |
__ PushObject(type_arguments()); |
__ pushl(instantiator_reg); // Push instantiator type arguments. |
compiler->GenerateCallRuntime(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
kInstantiateTypeArgumentsRuntimeEntry); |
__ Drop(2); // Drop instantiator and uninstantiated type arguments. |
@@ -1302,7 +1302,7 @@ |
__ movl(EDX, Immediate(num_context_variables())); |
const ExternalLabel label("alloc_context", |
StubCode::AllocateContextEntryPoint()); |
- compiler->GenerateCall(token_index(), |
+ compiler->GenerateCall(token_pos(), |
try_index(), |
&label, |
PcDescriptors::kOther); |
@@ -1323,7 +1323,7 @@ |
__ PushObject(Object::ZoneHandle()); // Make room for the result. |
__ pushl(context_value); |
compiler->GenerateCallRuntime(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
kCloneContextRuntimeEntry); |
__ popl(result); // Remove argument. |
@@ -1369,7 +1369,7 @@ |
Label no_stack_overflow; |
__ j(ABOVE, &no_stack_overflow); |
compiler->GenerateCallRuntime(cid(), |
- token_index(), |
+ token_pos(), |
try_index(), |
kStackOverflowRuntimeEntry); |
__ Bind(&no_stack_overflow); |
@@ -1446,7 +1446,7 @@ |
Register temp = comp->locs()->temp(0).reg(); |
ASSERT(left == result); |
Label* deopt = compiler->AddDeoptStub(comp->instance_call()->cid(), |
- comp->instance_call()->token_index(), |
+ comp->instance_call()->token_pos(), |
comp->instance_call()->try_index(), |
kDeoptSmiBinaryOp, |
temp, |
@@ -1557,7 +1557,7 @@ |
__ pushl(temp); |
__ pushl(right); |
compiler->GenerateStaticCall(comp->instance_call()->cid(), |
- comp->instance_call()->token_index(), |
+ comp->instance_call()->token_pos(), |
comp->instance_call()->try_index(), |
target, |
kArgumentCount, |
@@ -1604,7 +1604,7 @@ |
ASSERT(left == result); |
ASSERT(comp->op_kind() == Token::kBIT_AND); |
Label* deopt = compiler->AddDeoptStub(comp->instance_call()->cid(), |
- comp->instance_call()->token_index(), |
+ comp->instance_call()->token_pos(), |
comp->instance_call()->try_index(), |
kDeoptMintBinaryOp, |
left, |
@@ -1652,7 +1652,7 @@ |
__ pushl(left); |
__ pushl(right); |
compiler->GenerateStaticCall(comp->instance_call()->cid(), |
- comp->instance_call()->token_index(), |
+ comp->instance_call()->token_pos(), |
comp->instance_call()->try_index(), |
target, |
comp->instance_call()->ArgumentCount(), |
@@ -1672,7 +1672,7 @@ |
__ pushl(left); |
__ pushl(right); |
compiler->GenerateStaticCall(comp->instance_call()->cid(), |
- comp->instance_call()->token_index(), |
+ comp->instance_call()->token_pos(), |
comp->instance_call()->try_index(), |
target, |
comp->instance_call()->ArgumentCount(), |
@@ -1695,7 +1695,7 @@ |
const Code& stub = |
Code::Handle(StubCode::GetAllocationStubForClass(double_class)); |
const ExternalLabel label(double_class.ToCString(), stub.EntryPoint()); |
- compiler->GenerateCall(comp->instance_call()->token_index(), |
+ compiler->GenerateCall(comp->instance_call()->token_pos(), |
comp->instance_call()->try_index(), |
&label, |
PcDescriptors::kOther); |
@@ -1705,7 +1705,7 @@ |
__ popl(left); |
Label* deopt = compiler->AddDeoptStub(comp->instance_call()->cid(), |
- comp->instance_call()->token_index(), |
+ comp->instance_call()->token_pos(), |
comp->instance_call()->try_index(), |
kDeoptDoubleBinaryOp, |
left, |
@@ -1770,7 +1770,7 @@ |
Register result = locs()->out().reg(); |
ASSERT(value == result); |
Label* deopt = compiler->AddDeoptStub(instance_call()->cid(), |
- instance_call()->token_index(), |
+ instance_call()->token_pos(), |
instance_call()->try_index(), |
kDeoptUnaryOp, |
value); |
@@ -1823,7 +1823,7 @@ |
Register result = locs()->out().reg(); |
ASSERT(value == result); |
Label* deopt = compiler->AddDeoptStub(instance_call()->cid(), |
- instance_call()->token_index(), |
+ instance_call()->token_pos(), |
instance_call()->try_index(), |
kDeoptUnaryOp, |
value); |
@@ -1839,7 +1839,7 @@ |
Code::Handle(StubCode::GetAllocationStubForClass(double_class)); |
const ExternalLabel label(double_class.ToCString(), stub.EntryPoint()); |
__ pushl(value); |
- compiler->GenerateCall(instance_call()->token_index(), |
+ compiler->GenerateCall(instance_call()->token_pos(), |
instance_call()->try_index(), |
&label, |
PcDescriptors::kOther); |
@@ -1880,7 +1880,7 @@ |
const DeoptReasonId deopt_reason = (from() == kDouble) ? |
kDeoptDoubleToDouble : kDeoptIntegerToDouble; |
Label* deopt = compiler->AddDeoptStub(instance_call()->cid(), |
- instance_call()->token_index(), |
+ instance_call()->token_pos(), |
instance_call()->try_index(), |
deopt_reason, |
value); |
@@ -1903,7 +1903,7 @@ |
const ExternalLabel label(double_class.ToCString(), stub.EntryPoint()); |
// TODO(vegorov): allocate box in the driver loop to avoid spilling. |
- compiler->GenerateCall(instance_call()->token_index(), |
+ compiler->GenerateCall(instance_call()->token_pos(), |
instance_call()->try_index(), |
&label, |
PcDescriptors::kOther); |
@@ -1926,7 +1926,7 @@ |
void PolymorphicInstanceCallComp::EmitNativeCode(FlowGraphCompiler* compiler) { |
ASSERT(instance_call()->VerifyComputation()); |
Label* deopt = compiler->AddDeoptStub(instance_call()->cid(), |
- instance_call()->token_index(), |
+ instance_call()->token_pos(), |
instance_call()->try_index(), |
kDeoptPolymorphicInstanceCallTestFail); |
if (!HasICData() || (ic_data()->NumberOfChecks() == 0)) { |
@@ -1952,14 +1952,14 @@ |
instance_call()->argument_names(), |
deopt, &done, // Labels. |
instance_call()->cid(), |
- instance_call()->token_index(), |
+ instance_call()->token_pos(), |
instance_call()->try_index()); |
if (is_smi_label == &handle_smi) { |
__ Bind(&handle_smi); |
ASSERT(ic_data()->GetReceiverClassIdAt(0) == kSmi); |
const Function& target = Function::ZoneHandle(ic_data()->GetTargetAt(0)); |
compiler->GenerateStaticCall(instance_call()->cid(), |
- instance_call()->token_index(), |
+ instance_call()->token_pos(), |
instance_call()->try_index(), |
target, |
instance_call()->ArgumentCount(), |