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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 RegList regs = receiver.bit() | name.bit() | slot.bit(); | 167 RegList regs = receiver.bit() | name.bit() | slot.bit(); |
168 Generate_DebugBreakCallHelper(masm, regs, 0, false); | 168 Generate_DebugBreakCallHelper(masm, regs, 0, false); |
169 } | 169 } |
170 | 170 |
171 | 171 |
172 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { | 172 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { |
173 // Register state for IC store call (from ic-x64.cc). | 173 // Register state for IC store call (from ic-x64.cc). |
174 Register receiver = StoreDescriptor::ReceiverRegister(); | 174 Register receiver = StoreDescriptor::ReceiverRegister(); |
175 Register name = StoreDescriptor::NameRegister(); | 175 Register name = StoreDescriptor::NameRegister(); |
176 Register value = StoreDescriptor::ValueRegister(); | 176 Register value = StoreDescriptor::ValueRegister(); |
177 Generate_DebugBreakCallHelper( | 177 RegList regs = receiver.bit() | name.bit() | value.bit(); |
178 masm, receiver.bit() | name.bit() | value.bit(), 0, false); | 178 if (FLAG_vector_stores) { |
| 179 regs |= VectorStoreICDescriptor::SlotRegister().bit(); |
| 180 } |
| 181 Generate_DebugBreakCallHelper(masm, regs, 0, false); |
179 } | 182 } |
180 | 183 |
181 | 184 |
182 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { | 185 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { |
183 // Register state for keyed IC load call (from ic-x64.cc). | 186 // Register state for keyed IC load call (from ic-x64.cc). |
184 GenerateLoadICDebugBreak(masm); | 187 GenerateLoadICDebugBreak(masm); |
185 } | 188 } |
186 | 189 |
187 | 190 |
188 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { | 191 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { |
189 // Register state for keyed IC store call (from ic-x64.cc). | 192 // Register state for keyed IC store call (from ic-x64.cc). |
190 Register receiver = StoreDescriptor::ReceiverRegister(); | 193 GenerateStoreICDebugBreak(masm); |
191 Register name = StoreDescriptor::NameRegister(); | |
192 Register value = StoreDescriptor::ValueRegister(); | |
193 Generate_DebugBreakCallHelper( | |
194 masm, receiver.bit() | name.bit() | value.bit(), 0, false); | |
195 } | 194 } |
196 | 195 |
197 | 196 |
198 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { | 197 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { |
199 // Register state for CompareNil IC | 198 // Register state for CompareNil IC |
200 // ----------- S t a t e ------------- | 199 // ----------- S t a t e ------------- |
201 // -- rax : value | 200 // -- rax : value |
202 // ----------------------------------- | 201 // ----------------------------------- |
203 Generate_DebugBreakCallHelper(masm, rax.bit(), 0, false); | 202 Generate_DebugBreakCallHelper(masm, rax.bit(), 0, false); |
204 } | 203 } |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 } | 298 } |
300 | 299 |
301 const bool LiveEdit::kFrameDropperSupported = true; | 300 const bool LiveEdit::kFrameDropperSupported = true; |
302 | 301 |
303 #undef __ | 302 #undef __ |
304 | 303 |
305 } // namespace internal | 304 } // namespace internal |
306 } // namespace v8 | 305 } // namespace v8 |
307 | 306 |
308 #endif // V8_TARGET_ARCH_X64 | 307 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |