| 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" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_ARM) | 6 #if defined(TARGET_ARCH_ARM) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/compiler.h" | 9 #include "vm/compiler.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 2135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2146 __ ldr(R1, FieldAddress(R0, Function::entry_point_offset())); | 2146 __ ldr(R1, FieldAddress(R0, Function::entry_point_offset())); |
| 2147 __ ldr(CODE_REG, FieldAddress(R0, Function::code_offset())); | 2147 __ ldr(CODE_REG, FieldAddress(R0, Function::code_offset())); |
| 2148 __ bx(R1); | 2148 __ bx(R1); |
| 2149 | 2149 |
| 2150 // Probe failed, check if it is a miss. | 2150 // Probe failed, check if it is a miss. |
| 2151 __ Bind(&probe_failed); | 2151 __ Bind(&probe_failed); |
| 2152 ASSERT(kIllegalCid == 0); | 2152 ASSERT(kIllegalCid == 0); |
| 2153 __ tst(R6, Operand(R6)); | 2153 __ tst(R6, Operand(R6)); |
| 2154 __ b(&load_target, EQ); // branch if miss. | 2154 __ b(&load_target, EQ); // branch if miss. |
| 2155 | 2155 |
| 2156 // Try next extry in the table. | 2156 // Try next entry in the table. |
| 2157 __ AddImmediate(R3, Smi::RawValue(1)); | 2157 __ AddImmediate(R3, Smi::RawValue(1)); |
| 2158 __ b(&loop); | 2158 __ b(&loop); |
| 2159 } | 2159 } |
| 2160 | 2160 |
| 2161 | 2161 |
| 2162 // Called from switchable IC calls. | 2162 // Called from switchable IC calls. |
| 2163 // R0: receiver | 2163 // R0: receiver |
| 2164 // R9: ICData (preserved) | 2164 // R9: ICData (preserved) |
| 2165 // Passed to target: | 2165 // Passed to target: |
| 2166 // CODE_REG: target Code object | 2166 // CODE_REG: target Code object |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2327 } | 2327 } |
| 2328 | 2328 |
| 2329 | 2329 |
| 2330 void StubCode::GenerateAsynchronousGapMarkerStub(Assembler* assembler) { | 2330 void StubCode::GenerateAsynchronousGapMarkerStub(Assembler* assembler) { |
| 2331 __ bkpt(0); | 2331 __ bkpt(0); |
| 2332 } | 2332 } |
| 2333 | 2333 |
| 2334 } // namespace dart | 2334 } // namespace dart |
| 2335 | 2335 |
| 2336 #endif // defined TARGET_ARCH_ARM | 2336 #endif // defined TARGET_ARCH_ARM |
| OLD | NEW |