| 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_X64) | 6 #if defined(TARGET_ARCH_X64) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/heap.h" | 9 #include "vm/heap.h" |
| 10 #include "vm/memory_region.h" | 10 #include "vm/memory_region.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 object_pool_.Add(Object::null_object(), Heap::kOld); | 97 object_pool_.Add(Object::null_object(), Heap::kOld); |
| 98 patchable_pool_entries_.Add(kNotPatchable); | 98 patchable_pool_entries_.Add(kNotPatchable); |
| 99 } | 99 } |
| 100 | 100 |
| 101 if (StubCode::CallToRuntime_entry() != NULL) { | 101 if (StubCode::CallToRuntime_entry() != NULL) { |
| 102 FindExternalLabel(&StubCode::CallToRuntimeLabel(), kNotPatchable); | 102 FindExternalLabel(&StubCode::CallToRuntimeLabel(), kNotPatchable); |
| 103 } else { | 103 } else { |
| 104 object_pool_.Add(Object::null_object(), Heap::kOld); | 104 object_pool_.Add(Object::null_object(), Heap::kOld); |
| 105 patchable_pool_entries_.Add(kNotPatchable); | 105 patchable_pool_entries_.Add(kNotPatchable); |
| 106 } | 106 } |
| 107 |
| 108 // Create fixed object pool entries for debugger stubs. |
| 109 if (StubCode::BreakpointStatic_entry() != NULL) { |
| 110 intptr_t index = |
| 111 FindExternalLabel(&StubCode::BreakpointStaticLabel(), kNotPatchable); |
| 112 ASSERT(index == kBreakpointStaticCPIndex); |
| 113 } else { |
| 114 object_pool_.Add(Object::null_object(), Heap::kOld); |
| 115 patchable_pool_entries_.Add(kNotPatchable); |
| 116 } |
| 117 if (StubCode::BreakpointDynamic_entry() != NULL) { |
| 118 intptr_t index = |
| 119 FindExternalLabel(&StubCode::BreakpointDynamicLabel(), kNotPatchable); |
| 120 ASSERT(index == kBreakpointDynamicCPIndex); |
| 121 } else { |
| 122 object_pool_.Add(Object::null_object(), Heap::kOld); |
| 123 patchable_pool_entries_.Add(kNotPatchable); |
| 124 } |
| 125 if (StubCode::BreakpointRuntime_entry() != NULL) { |
| 126 intptr_t index = |
| 127 FindExternalLabel(&StubCode::BreakpointRuntimeLabel(), kNotPatchable); |
| 128 ASSERT(index == kBreakpointRuntimeCPIndex); |
| 129 } else { |
| 130 object_pool_.Add(Object::null_object(), Heap::kOld); |
| 131 patchable_pool_entries_.Add(kNotPatchable); |
| 132 } |
| 107 } | 133 } |
| 108 } | 134 } |
| 109 | 135 |
| 110 | 136 |
| 111 void Assembler::InitializeMemoryWithBreakpoints(uword data, intptr_t length) { | 137 void Assembler::InitializeMemoryWithBreakpoints(uword data, intptr_t length) { |
| 112 memset(reinterpret_cast<void*>(data), Instr::kBreakPointInstruction, length); | 138 memset(reinterpret_cast<void*>(data), Instr::kBreakPointInstruction, length); |
| 113 } | 139 } |
| 114 | 140 |
| 115 | 141 |
| 116 void Assembler::call(Register reg) { | 142 void Assembler::call(Register reg) { |
| (...skipping 2972 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3089 | 3115 |
| 3090 | 3116 |
| 3091 const char* Assembler::FpuRegisterName(FpuRegister reg) { | 3117 const char* Assembler::FpuRegisterName(FpuRegister reg) { |
| 3092 ASSERT((0 <= reg) && (reg < kNumberOfXmmRegisters)); | 3118 ASSERT((0 <= reg) && (reg < kNumberOfXmmRegisters)); |
| 3093 return xmm_reg_names[reg]; | 3119 return xmm_reg_names[reg]; |
| 3094 } | 3120 } |
| 3095 | 3121 |
| 3096 } // namespace dart | 3122 } // namespace dart |
| 3097 | 3123 |
| 3098 #endif // defined TARGET_ARCH_X64 | 3124 #endif // defined TARGET_ARCH_X64 |
| OLD | NEW |