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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 void DebugCodegen::GenerateCallICStubDebugBreak(MacroAssembler* masm) { | 143 void DebugCodegen::GenerateCallICStubDebugBreak(MacroAssembler* masm) { |
144 // Register state for CallICStub | 144 // Register state for CallICStub |
145 // ----------- S t a t e ------------- | 145 // ----------- S t a t e ------------- |
146 // -- a1 : function | 146 // -- a1 : function |
147 // -- a3 : slot in feedback array (smi) | 147 // -- a3 : slot in feedback array (smi) |
148 // ----------------------------------- | 148 // ----------------------------------- |
149 Generate_DebugBreakCallHelper(masm, a1.bit() | a3.bit(), 0); | 149 Generate_DebugBreakCallHelper(masm, a1.bit() | a3.bit(), 0); |
150 } | 150 } |
151 | 151 |
152 | 152 |
153 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) { | |
154 Register receiver = LoadDescriptor::ReceiverRegister(); | |
155 Register name = LoadDescriptor::NameRegister(); | |
156 Register slot = LoadDescriptor::SlotRegister(); | |
157 RegList regs = receiver.bit() | name.bit() | slot.bit(); | |
158 Generate_DebugBreakCallHelper(masm, regs, 0); | |
159 } | |
160 | |
161 | |
162 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { | |
163 // Calling convention for IC store (from ic-mips.cc). | |
164 Register receiver = StoreDescriptor::ReceiverRegister(); | |
165 Register name = StoreDescriptor::NameRegister(); | |
166 Register value = StoreDescriptor::ValueRegister(); | |
167 RegList regs = receiver.bit() | name.bit() | value.bit(); | |
168 if (FLAG_vector_stores) { | |
169 regs |= VectorStoreICDescriptor::SlotRegister().bit(); | |
170 } | |
171 Generate_DebugBreakCallHelper(masm, regs, 0); | |
172 } | |
173 | |
174 | |
175 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { | |
176 // Calling convention for keyed IC load (from ic-mips.cc). | |
177 GenerateLoadICDebugBreak(masm); | |
178 } | |
179 | |
180 | |
181 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { | |
182 // Calling convention for IC keyed store call (from ic-mips.cc). | |
183 GenerateStoreICDebugBreak(masm); | |
184 } | |
185 | |
186 | |
187 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { | |
188 // Register state for CompareNil IC | |
189 // ----------- S t a t e ------------- | |
190 // -- a0 : value | |
191 // ----------------------------------- | |
192 Generate_DebugBreakCallHelper(masm, a0.bit(), 0); | |
193 } | |
194 | |
195 | |
196 void DebugCodegen::GenerateReturnDebugBreak(MacroAssembler* masm) { | 153 void DebugCodegen::GenerateReturnDebugBreak(MacroAssembler* masm) { |
197 // In places other than IC call sites it is expected that v0 is TOS which | 154 // In places other than IC call sites it is expected that v0 is TOS which |
198 // is an object - this is not generally the case so this should be used with | 155 // is an object - this is not generally the case so this should be used with |
199 // care. | 156 // care. |
200 Generate_DebugBreakCallHelper(masm, v0.bit(), 0); | 157 Generate_DebugBreakCallHelper(masm, v0.bit(), 0); |
201 } | 158 } |
202 | 159 |
203 | 160 |
204 void DebugCodegen::GenerateCallFunctionStubDebugBreak(MacroAssembler* masm) { | 161 void DebugCodegen::GenerateCallFunctionStubDebugBreak(MacroAssembler* masm) { |
205 // Register state for CallFunctionStub (from code-stubs-mips.cc). | 162 // Register state for CallFunctionStub (from code-stubs-mips.cc). |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 | 243 |
287 | 244 |
288 const bool LiveEdit::kFrameDropperSupported = true; | 245 const bool LiveEdit::kFrameDropperSupported = true; |
289 | 246 |
290 #undef __ | 247 #undef __ |
291 | 248 |
292 } // namespace internal | 249 } // namespace internal |
293 } // namespace v8 | 250 } // namespace v8 |
294 | 251 |
295 #endif // V8_TARGET_ARCH_MIPS | 252 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |