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 |