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 | 5 |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #if V8_TARGET_ARCH_MIPS | 9 #if V8_TARGET_ARCH_MIPS |
10 | 10 |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 | 186 |
187 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) { | 187 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) { |
188 Register receiver = LoadIC::ReceiverRegister(); | 188 Register receiver = LoadIC::ReceiverRegister(); |
189 Register name = LoadIC::NameRegister(); | 189 Register name = LoadIC::NameRegister(); |
190 Generate_DebugBreakCallHelper(masm, receiver.bit() | name.bit(), 0); | 190 Generate_DebugBreakCallHelper(masm, receiver.bit() | name.bit(), 0); |
191 } | 191 } |
192 | 192 |
193 | 193 |
194 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { | 194 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { |
195 // Calling convention for IC store (from ic-mips.cc). | 195 // Calling convention for IC store (from ic-mips.cc). |
196 // ----------- S t a t e ------------- | 196 Register receiver = StoreIC::ReceiverRegister(); |
197 // -- a0 : value | 197 Register name = StoreIC::NameRegister(); |
198 // -- a1 : receiver | 198 Register value = StoreIC::ValueRegister(); |
199 // -- a2 : name | 199 Generate_DebugBreakCallHelper( |
200 // -- ra : return address | 200 masm, receiver.bit() | name.bit() | value.bit(), 0); |
201 // ----------------------------------- | |
202 // Registers a0, a1, and a2 contain objects that need to be pushed on the | |
203 // expression stack of the fake JS frame. | |
204 Generate_DebugBreakCallHelper(masm, a0.bit() | a1.bit() | a2.bit(), 0); | |
205 } | 201 } |
206 | 202 |
207 | 203 |
208 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { | 204 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { |
209 // Calling convention for keyed IC load (from ic-arm.cc). | 205 // Calling convention for keyed IC load (from ic-mips.cc). |
210 GenerateLoadICDebugBreak(masm); | 206 GenerateLoadICDebugBreak(masm); |
211 } | 207 } |
212 | 208 |
213 | 209 |
214 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { | 210 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { |
215 // ---------- S t a t e -------------- | 211 // Calling convention for IC keyed store call (from ic-mips.cc). |
216 // -- a0 : value | 212 Register receiver = KeyedStoreIC::ReceiverRegister(); |
217 // -- a1 : key | 213 Register name = KeyedStoreIC::NameRegister(); |
218 // -- a2 : receiver | 214 Register value = KeyedStoreIC::ValueRegister(); |
219 // -- ra : return address | 215 Generate_DebugBreakCallHelper( |
220 Generate_DebugBreakCallHelper(masm, a0.bit() | a1.bit() | a2.bit(), 0); | 216 masm, receiver.bit() | name.bit() | value.bit(), 0); |
221 } | 217 } |
222 | 218 |
223 | 219 |
224 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { | 220 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { |
225 // Register state for CompareNil IC | 221 // Register state for CompareNil IC |
226 // ----------- S t a t e ------------- | 222 // ----------- S t a t e ------------- |
227 // -- a0 : value | 223 // -- a0 : value |
228 // ----------------------------------- | 224 // ----------------------------------- |
229 Generate_DebugBreakCallHelper(masm, a0.bit(), 0); | 225 Generate_DebugBreakCallHelper(masm, a0.bit(), 0); |
230 } | 226 } |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 } | 318 } |
323 | 319 |
324 | 320 |
325 const bool LiveEdit::kFrameDropperSupported = true; | 321 const bool LiveEdit::kFrameDropperSupported = true; |
326 | 322 |
327 #undef __ | 323 #undef __ |
328 | 324 |
329 } } // namespace v8::internal | 325 } } // namespace v8::internal |
330 | 326 |
331 #endif // V8_TARGET_ARCH_MIPS | 327 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |