Index: runtime/vm/intermediate_language_mips.cc |
=================================================================== |
--- runtime/vm/intermediate_language_mips.cc (revision 41393) |
+++ runtime/vm/intermediate_language_mips.cc (working copy) |
@@ -30,8 +30,7 @@ |
// Generic summary for call instructions that have all arguments pushed |
// on the stack and return the result in a fixed register V0. |
-LocationSummary* Instruction::MakeCallSummary() { |
- Isolate* isolate = Isolate::Current(); |
+LocationSummary* Instruction::MakeCallSummary(Isolate* isolate) { |
LocationSummary* result = new(isolate) LocationSummary( |
isolate, 0, 0, LocationSummary::kCall); |
result->set_out(0, Location::RegisterLocation(V0)); |
@@ -876,23 +875,12 @@ |
LocationSummary* NativeCallInstr::MakeLocationSummary(Isolate* isolate, |
bool opt) const { |
- const intptr_t kNumInputs = 0; |
- const intptr_t kNumTemps = 3; |
- LocationSummary* locs = new(isolate) LocationSummary( |
- isolate, kNumInputs, kNumTemps, LocationSummary::kCall); |
- locs->set_temp(0, Location::RegisterLocation(A1)); |
- locs->set_temp(1, Location::RegisterLocation(A2)); |
- locs->set_temp(2, Location::RegisterLocation(T5)); |
- locs->set_out(0, Location::RegisterLocation(V0)); |
- return locs; |
+ return MakeCallSummary(isolate); |
} |
void NativeCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
__ TraceSimMsg("NativeCallInstr"); |
- ASSERT(locs()->temp(0).reg() == A1); |
- ASSERT(locs()->temp(1).reg() == A2); |
- ASSERT(locs()->temp(2).reg() == T5); |
Register result = locs()->out(0).reg(); |
// Push the result place holder initialized to NULL. |
@@ -4265,7 +4253,7 @@ |
LocationSummary* PolymorphicInstanceCallInstr::MakeLocationSummary( |
Isolate* isolate, bool opt) const { |
- return MakeCallSummary(); |
+ return MakeCallSummary(isolate); |
} |
@@ -4916,7 +4904,7 @@ |
LocationSummary* AllocateObjectInstr::MakeLocationSummary(Isolate* isolate, |
bool opt) const { |
- return MakeCallSummary(); |
+ return MakeCallSummary(isolate); |
} |