Index: runtime/vm/flow_graph_compiler_mips.cc |
diff --git a/runtime/vm/flow_graph_compiler_mips.cc b/runtime/vm/flow_graph_compiler_mips.cc |
index a6fef0b0ef74535f7c3f288f4986a854e48fb47a..4dc2f07cab6b7f173a663833ebaf5bac5695eb26 100644 |
--- a/runtime/vm/flow_graph_compiler_mips.cc |
+++ b/runtime/vm/flow_graph_compiler_mips.cc |
@@ -258,7 +258,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateCallSubtypeTestStub( |
// Clobbers T0. |
RawSubtypeTestCache* |
FlowGraphCompiler::GenerateInstantiatedTypeWithArgumentsTest( |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
const AbstractType& type, |
Label* is_instance_lbl, |
Label* is_not_instance_lbl) { |
@@ -347,7 +347,7 @@ void FlowGraphCompiler::CheckClassIds(Register class_id_reg, |
// Clobbers: T0, T1, T2 |
// Returns true if there is a fallthrough. |
bool FlowGraphCompiler::GenerateInstantiatedTypeNoArgumentsTest( |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
const AbstractType& type, |
Label* is_instance_lbl, |
Label* is_not_instance_lbl) { |
@@ -415,7 +415,7 @@ bool FlowGraphCompiler::GenerateInstantiatedTypeNoArgumentsTest( |
// arrays can grow too high, but they may be useful when optimizing |
// code (type-feedback). |
RawSubtypeTestCache* FlowGraphCompiler::GenerateSubtype1TestCacheLookup( |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
const Class& type_class, |
Label* is_instance_lbl, |
Label* is_not_instance_lbl) { |
@@ -442,7 +442,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateSubtype1TestCacheLookup( |
// Generates inlined check if 'type' is a type parameter or type itself |
// A0: instance (preserved). |
RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest( |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
const AbstractType& type, |
Label* is_instance_lbl, |
Label* is_not_instance_lbl) { |
@@ -525,7 +525,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateUninstantiatedTypeTest( |
// may fall through to it. Otherwise, this inline code will jump to the label |
// is_instance or to the label is_not_instance. |
RawSubtypeTestCache* FlowGraphCompiler::GenerateInlineInstanceof( |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
const AbstractType& type, |
Label* is_instance_lbl, |
Label* is_not_instance_lbl) { |
@@ -578,7 +578,7 @@ RawSubtypeTestCache* FlowGraphCompiler::GenerateInlineInstanceof( |
// - A1: instantiator type arguments or raw_null. |
// Returns: |
// - true or false in V0. |
-void FlowGraphCompiler::GenerateInstanceOf(intptr_t token_pos, |
+void FlowGraphCompiler::GenerateInstanceOf(TokenDescriptor token_pos, |
intptr_t deopt_id, |
const AbstractType& type, |
bool negate_result, |
@@ -663,13 +663,13 @@ void FlowGraphCompiler::GenerateInstanceOf(intptr_t token_pos, |
// Clobbers: T0, T1, T2 |
// Performance notes: positive checks must be quick, negative checks can be slow |
// as they throw an exception. |
-void FlowGraphCompiler::GenerateAssertAssignable(intptr_t token_pos, |
+void FlowGraphCompiler::GenerateAssertAssignable(TokenDescriptor token_pos, |
intptr_t deopt_id, |
const AbstractType& dst_type, |
const String& dst_name, |
LocationSummary* locs) { |
__ Comment("AssertAssignable"); |
- ASSERT(!Token::IsClassifying(token_pos)); |
+ ASSERT(!TokenDescriptor(token_pos).IsClassifying()); |
ASSERT(!dst_type.IsNull()); |
ASSERT(dst_type.IsFinalized()); |
// Assignable check is skipped in FlowGraphBuilder, not here. |
@@ -1151,7 +1151,7 @@ void FlowGraphCompiler::CompileGraph() { |
} |
-void FlowGraphCompiler::GenerateCall(intptr_t token_pos, |
+void FlowGraphCompiler::GenerateCall(TokenDescriptor token_pos, |
const StubEntry& stub_entry, |
RawPcDescriptors::Kind kind, |
LocationSummary* locs) { |
@@ -1162,7 +1162,7 @@ void FlowGraphCompiler::GenerateCall(intptr_t token_pos, |
void FlowGraphCompiler::GenerateDartCall(intptr_t deopt_id, |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
const StubEntry& stub_entry, |
RawPcDescriptors::Kind kind, |
LocationSummary* locs) { |
@@ -1184,7 +1184,7 @@ void FlowGraphCompiler::GenerateDartCall(intptr_t deopt_id, |
} |
-void FlowGraphCompiler::GenerateRuntimeCall(intptr_t token_pos, |
+void FlowGraphCompiler::GenerateRuntimeCall(TokenDescriptor token_pos, |
intptr_t deopt_id, |
const RuntimeEntry& entry, |
intptr_t argument_count, |
@@ -1229,7 +1229,7 @@ void FlowGraphCompiler::EmitOptimizedInstanceCall( |
const ICData& ic_data, |
intptr_t argument_count, |
intptr_t deopt_id, |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
LocationSummary* locs) { |
ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0); |
// Each ICData propagated from unoptimized to optimized code contains the |
@@ -1254,7 +1254,7 @@ void FlowGraphCompiler::EmitInstanceCall(const StubEntry& stub_entry, |
const ICData& ic_data, |
intptr_t argument_count, |
intptr_t deopt_id, |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
LocationSummary* locs) { |
ASSERT(Array::Handle(zone(), ic_data.arguments_descriptor()).Length() > 0); |
__ Comment("InstanceCall"); |
@@ -1273,7 +1273,7 @@ void FlowGraphCompiler::EmitMegamorphicInstanceCall( |
const ICData& ic_data, |
intptr_t argument_count, |
intptr_t deopt_id, |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
LocationSummary* locs, |
intptr_t try_index) { |
const String& name = String::Handle(zone(), ic_data.target_name()); |
@@ -1325,7 +1325,7 @@ void FlowGraphCompiler::EmitSwitchableInstanceCall( |
const ICData& ic_data, |
intptr_t argument_count, |
intptr_t deopt_id, |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
LocationSummary* locs) { |
__ Comment("SwitchableCall"); |
__ lw(T0, Address(SP, (argument_count - 1) * kWordSize)); |
@@ -1364,7 +1364,7 @@ void FlowGraphCompiler::EmitSwitchableInstanceCall( |
void FlowGraphCompiler::EmitUnoptimizedStaticCall( |
intptr_t argument_count, |
intptr_t deopt_id, |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
LocationSummary* locs, |
const ICData& ic_data) { |
const StubEntry* stub_entry = |
@@ -1384,7 +1384,7 @@ void FlowGraphCompiler::EmitOptimizedStaticCall( |
const Array& arguments_descriptor, |
intptr_t argument_count, |
intptr_t deopt_id, |
- intptr_t token_pos, |
+ TokenDescriptor token_pos, |
LocationSummary* locs) { |
__ Comment("StaticCall"); |
__ LoadObject(S4, arguments_descriptor); |
@@ -1404,7 +1404,7 @@ Condition FlowGraphCompiler::EmitEqualityRegConstCompare( |
Register reg, |
const Object& obj, |
bool needs_number_check, |
- intptr_t token_pos) { |
+ TokenDescriptor token_pos) { |
__ Comment("EqualityRegConstCompare"); |
ASSERT(!needs_number_check || |
(!obj.IsMint() && !obj.IsDouble() && !obj.IsBigint())); |
@@ -1421,7 +1421,7 @@ Condition FlowGraphCompiler::EmitEqualityRegConstCompare( |
__ BranchLinkPatchable( |
*StubCode::UnoptimizedIdenticalWithNumberCheck_entry()); |
} |
- if (token_pos >= 0) { |
+ if (token_pos.IsReal()) { |
AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, |
Thread::kNoDeoptId, |
token_pos); |
@@ -1439,10 +1439,11 @@ Condition FlowGraphCompiler::EmitEqualityRegConstCompare( |
} |
-Condition FlowGraphCompiler::EmitEqualityRegRegCompare(Register left, |
- Register right, |
- bool needs_number_check, |
- intptr_t token_pos) { |
+Condition FlowGraphCompiler::EmitEqualityRegRegCompare( |
+ Register left, |
+ Register right, |
+ bool needs_number_check, |
+ TokenDescriptor token_pos) { |
__ Comment("EqualityRegRegCompare"); |
if (needs_number_check) { |
__ addiu(SP, SP, Immediate(-2 * kWordSize)); |
@@ -1455,7 +1456,7 @@ Condition FlowGraphCompiler::EmitEqualityRegRegCompare(Register left, |
__ BranchLinkPatchable( |
*StubCode::UnoptimizedIdenticalWithNumberCheck_entry()); |
} |
- if (token_pos >= 0) { |
+ if (token_pos.IsReal()) { |
AddCurrentDescriptor(RawPcDescriptors::kRuntimeCall, |
Thread::kNoDeoptId, |
token_pos); |
@@ -1575,7 +1576,7 @@ void FlowGraphCompiler::EmitTestAndCall(const ICData& ic_data, |
Label* failed, |
Label* match_found, |
intptr_t deopt_id, |
- intptr_t token_index, |
+ TokenDescriptor token_index, |
LocationSummary* locs) { |
ASSERT(is_optimizing()); |
__ Comment("EmitTestAndCall"); |