| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. |
| 6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
| 7 | 7 |
| 8 #include "vm/intermediate_language.h" | 8 #include "vm/intermediate_language.h" |
| 9 | 9 |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 2272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2283 deopt_id(), | 2283 deopt_id(), |
| 2284 kAllocateArrayRuntimeEntry, | 2284 kAllocateArrayRuntimeEntry, |
| 2285 2, | 2285 2, |
| 2286 locs()); | 2286 locs()); |
| 2287 __ Drop(2); | 2287 __ Drop(2); |
| 2288 __ Pop(kResultReg); | 2288 __ Pop(kResultReg); |
| 2289 __ Bind(&done); | 2289 __ Bind(&done); |
| 2290 return; | 2290 return; |
| 2291 } | 2291 } |
| 2292 } | 2292 } |
| 2293 | 2293 Isolate* isolate = compiler->isolate(); |
| 2294 StubCode* stub_code = compiler->isolate()->stub_code(); | 2294 const Code& stub = Code::Handle( |
| 2295 isolate, isolate->stub_code()->GetAllocateArrayStub()); |
| 2296 const ExternalLabel label(stub.EntryPoint()); |
| 2295 compiler->GenerateCall(token_pos(), | 2297 compiler->GenerateCall(token_pos(), |
| 2296 &stub_code->AllocateArrayLabel(), | 2298 &label, |
| 2297 RawPcDescriptors::kOther, | 2299 RawPcDescriptors::kOther, |
| 2298 locs()); | 2300 locs()); |
| 2299 ASSERT(locs()->out(0).reg() == kResultReg); | 2301 ASSERT(locs()->out(0).reg() == kResultReg); |
| 2300 } | 2302 } |
| 2301 | 2303 |
| 2302 | 2304 |
| 2303 LocationSummary* LoadFieldInstr::MakeLocationSummary(Isolate* isolate, | 2305 LocationSummary* LoadFieldInstr::MakeLocationSummary(Isolate* isolate, |
| 2304 bool opt) const { | 2306 bool opt) const { |
| 2305 const intptr_t kNumInputs = 1; | 2307 const intptr_t kNumInputs = 1; |
| 2306 const intptr_t kNumTemps = | 2308 const intptr_t kNumTemps = |
| (...skipping 4724 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7031 compiler->GenerateCall(token_pos(), &label, stub_kind_, locs()); | 7033 compiler->GenerateCall(token_pos(), &label, stub_kind_, locs()); |
| 7032 #if defined(DEBUG) | 7034 #if defined(DEBUG) |
| 7033 __ LoadImmediate(R4, kInvalidObjectPointer); | 7035 __ LoadImmediate(R4, kInvalidObjectPointer); |
| 7034 __ LoadImmediate(R5, kInvalidObjectPointer); | 7036 __ LoadImmediate(R5, kInvalidObjectPointer); |
| 7035 #endif | 7037 #endif |
| 7036 } | 7038 } |
| 7037 | 7039 |
| 7038 } // namespace dart | 7040 } // namespace dart |
| 7039 | 7041 |
| 7040 #endif // defined TARGET_ARCH_ARM | 7042 #endif // defined TARGET_ARCH_ARM |
| OLD | NEW |