| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_X64 | 7 #if V8_TARGET_ARCH_X64 |
| 8 | 8 |
| 9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) { | 163 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) { |
| 164 // Register state for IC load call (from ic-x64.cc). | 164 // Register state for IC load call (from ic-x64.cc). |
| 165 Register receiver = LoadIC::ReceiverRegister(); | 165 Register receiver = LoadIC::ReceiverRegister(); |
| 166 Register name = LoadIC::NameRegister(); | 166 Register name = LoadIC::NameRegister(); |
| 167 Generate_DebugBreakCallHelper(masm, receiver.bit() | name.bit(), 0, false); | 167 Generate_DebugBreakCallHelper(masm, receiver.bit() | name.bit(), 0, false); |
| 168 } | 168 } |
| 169 | 169 |
| 170 | 170 |
| 171 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { | 171 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { |
| 172 // Register state for IC store call (from ic-x64.cc). | 172 // Register state for IC store call (from ic-x64.cc). |
| 173 // ----------- S t a t e ------------- | 173 Register receiver = StoreIC::ReceiverRegister(); |
| 174 // -- rax : value | 174 Register name = StoreIC::NameRegister(); |
| 175 // -- rcx : name | 175 Register value = StoreIC::ValueRegister(); |
| 176 // -- rdx : receiver | |
| 177 // ----------------------------------- | |
| 178 Generate_DebugBreakCallHelper( | 176 Generate_DebugBreakCallHelper( |
| 179 masm, rax.bit() | rcx.bit() | rdx.bit(), 0, false); | 177 masm, receiver.bit() | name.bit() | value.bit(), 0, false); |
| 180 } | 178 } |
| 181 | 179 |
| 182 | 180 |
| 183 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { | 181 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { |
| 184 // Register state for keyed IC load call (from ic-x64.cc). | 182 // Register state for keyed IC load call (from ic-x64.cc). |
| 185 GenerateLoadICDebugBreak(masm); | 183 GenerateLoadICDebugBreak(masm); |
| 186 } | 184 } |
| 187 | 185 |
| 188 | 186 |
| 189 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { | 187 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { |
| 190 // Register state for keyed IC load call (from ic-x64.cc). | 188 // Register state for keyed IC store call (from ic-x64.cc). |
| 191 // ----------- S t a t e ------------- | 189 Register receiver = KeyedStoreIC::ReceiverRegister(); |
| 192 // -- rax : value | 190 Register name = KeyedStoreIC::NameRegister(); |
| 193 // -- rcx : key | 191 Register value = KeyedStoreIC::ValueRegister(); |
| 194 // -- rdx : receiver | |
| 195 // ----------------------------------- | |
| 196 Generate_DebugBreakCallHelper( | 192 Generate_DebugBreakCallHelper( |
| 197 masm, rax.bit() | rcx.bit() | rdx.bit(), 0, false); | 193 masm, receiver.bit() | name.bit() | value.bit(), 0, false); |
| 198 } | 194 } |
| 199 | 195 |
| 200 | 196 |
| 201 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { | 197 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { |
| 202 // Register state for CompareNil IC | 198 // Register state for CompareNil IC |
| 203 // ----------- S t a t e ------------- | 199 // ----------- S t a t e ------------- |
| 204 // -- rax : value | 200 // -- rax : value |
| 205 // ----------------------------------- | 201 // ----------------------------------- |
| 206 Generate_DebugBreakCallHelper(masm, rax.bit(), 0, false); | 202 Generate_DebugBreakCallHelper(masm, rax.bit(), 0, false); |
| 207 } | 203 } |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 __ jmp(rdx); | 297 __ jmp(rdx); |
| 302 } | 298 } |
| 303 | 299 |
| 304 const bool LiveEdit::kFrameDropperSupported = true; | 300 const bool LiveEdit::kFrameDropperSupported = true; |
| 305 | 301 |
| 306 #undef __ | 302 #undef __ |
| 307 | 303 |
| 308 } } // namespace v8::internal | 304 } } // namespace v8::internal |
| 309 | 305 |
| 310 #endif // V8_TARGET_ARCH_X64 | 306 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |