OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 // -- a1 : function | 267 // -- a1 : function |
268 // ----------------------------------- | 268 // ----------------------------------- |
269 Generate_DebugBreakCallHelper(masm, a1.bit(), 0); | 269 Generate_DebugBreakCallHelper(masm, a1.bit(), 0); |
270 } | 270 } |
271 | 271 |
272 | 272 |
273 void Debug::GenerateCallFunctionStubRecordDebugBreak(MacroAssembler* masm) { | 273 void Debug::GenerateCallFunctionStubRecordDebugBreak(MacroAssembler* masm) { |
274 // Register state for CallFunctionStub (from code-stubs-mips.cc). | 274 // Register state for CallFunctionStub (from code-stubs-mips.cc). |
275 // ----------- S t a t e ------------- | 275 // ----------- S t a t e ------------- |
276 // -- a1 : function | 276 // -- a1 : function |
277 // -- a2 : cache cell for call target | 277 // -- a2 : feedback array |
| 278 // -- a3 : slot in feedback array |
278 // ----------------------------------- | 279 // ----------------------------------- |
279 Generate_DebugBreakCallHelper(masm, a1.bit() | a2.bit(), 0); | 280 Generate_DebugBreakCallHelper(masm, a1.bit() | a2.bit() | a3.bit(), 0); |
280 } | 281 } |
281 | 282 |
282 | 283 |
283 void Debug::GenerateCallConstructStubDebugBreak(MacroAssembler* masm) { | 284 void Debug::GenerateCallConstructStubDebugBreak(MacroAssembler* masm) { |
284 // Calling convention for CallConstructStub (from code-stubs-mips.cc). | 285 // Calling convention for CallConstructStub (from code-stubs-mips.cc). |
285 // ----------- S t a t e ------------- | 286 // ----------- S t a t e ------------- |
286 // -- a0 : number of arguments (not smi) | 287 // -- a0 : number of arguments (not smi) |
287 // -- a1 : constructor function | 288 // -- a1 : constructor function |
288 // ----------------------------------- | 289 // ----------------------------------- |
289 Generate_DebugBreakCallHelper(masm, a1.bit() , a0.bit()); | 290 Generate_DebugBreakCallHelper(masm, a1.bit() , a0.bit()); |
290 } | 291 } |
291 | 292 |
292 | 293 |
293 void Debug::GenerateCallConstructStubRecordDebugBreak(MacroAssembler* masm) { | 294 void Debug::GenerateCallConstructStubRecordDebugBreak(MacroAssembler* masm) { |
294 // Calling convention for CallConstructStub (from code-stubs-mips.cc). | 295 // Calling convention for CallConstructStub (from code-stubs-mips.cc). |
295 // ----------- S t a t e ------------- | 296 // ----------- S t a t e ------------- |
296 // -- a0 : number of arguments (not smi) | 297 // -- a0 : number of arguments (not smi) |
297 // -- a1 : constructor function | 298 // -- a1 : constructor function |
298 // -- a2 : cache cell for call target | 299 // -- a2 : feedback array |
| 300 // -- a3 : feedback slot (smi) |
299 // ----------------------------------- | 301 // ----------------------------------- |
300 Generate_DebugBreakCallHelper(masm, a1.bit() | a2.bit(), a0.bit()); | 302 Generate_DebugBreakCallHelper(masm, a1.bit() | a2.bit() | a3.bit(), a0.bit()); |
301 } | 303 } |
302 | 304 |
303 | 305 |
304 void Debug::GenerateSlot(MacroAssembler* masm) { | 306 void Debug::GenerateSlot(MacroAssembler* masm) { |
305 // Generate enough nop's to make space for a call instruction. Avoid emitting | 307 // Generate enough nop's to make space for a call instruction. Avoid emitting |
306 // the trampoline pool in the debug break slot code. | 308 // the trampoline pool in the debug break slot code. |
307 Assembler::BlockTrampolinePoolScope block_trampoline_pool(masm); | 309 Assembler::BlockTrampolinePoolScope block_trampoline_pool(masm); |
308 Label check_codesize; | 310 Label check_codesize; |
309 __ bind(&check_codesize); | 311 __ bind(&check_codesize); |
310 __ RecordDebugBreakSlot(); | 312 __ RecordDebugBreakSlot(); |
(...skipping 25 matching lines...) Expand all Loading... |
336 const bool Debug::kFrameDropperSupported = false; | 338 const bool Debug::kFrameDropperSupported = false; |
337 | 339 |
338 #undef __ | 340 #undef __ |
339 | 341 |
340 | 342 |
341 #endif // ENABLE_DEBUGGER_SUPPORT | 343 #endif // ENABLE_DEBUGGER_SUPPORT |
342 | 344 |
343 } } // namespace v8::internal | 345 } } // namespace v8::internal |
344 | 346 |
345 #endif // V8_TARGET_ARCH_MIPS | 347 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |