OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 // No registers used on entry. | 127 // No registers used on entry. |
128 // ----------------------------------- | 128 // ----------------------------------- |
129 Generate_DebugBreakCallHelper(masm, 0, false); | 129 Generate_DebugBreakCallHelper(masm, 0, false); |
130 } | 130 } |
131 | 131 |
132 | 132 |
133 void Debug::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { | 133 void Debug::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { |
134 // Register state for keyed IC load call (from ic-x64.cc). | 134 // Register state for keyed IC load call (from ic-x64.cc). |
135 // ----------- S t a t e ------------- | 135 // ----------- S t a t e ------------- |
136 // -- rax : value | 136 // -- rax : value |
| 137 // -- rcx : key |
| 138 // -- rdx : receiver |
137 // ----------------------------------- | 139 // ----------------------------------- |
138 // Register rax contains an object that needs to be pushed on the | 140 Generate_DebugBreakCallHelper(masm, rax.bit() | rcx.bit() | rdx.bit(), false); |
139 // expression stack of the fake JS frame. | |
140 Generate_DebugBreakCallHelper(masm, rax.bit(), false); | |
141 } | 141 } |
142 | 142 |
143 | 143 |
144 void Debug::GenerateLoadICDebugBreak(MacroAssembler* masm) { | 144 void Debug::GenerateLoadICDebugBreak(MacroAssembler* masm) { |
145 // Register state for IC load call (from ic-x64.cc). | 145 // Register state for IC load call (from ic-x64.cc). |
146 // ----------- S t a t e ------------- | 146 // ----------- S t a t e ------------- |
147 // -- rcx : name | 147 // -- rcx : name |
148 // ----------------------------------- | 148 // ----------------------------------- |
149 Generate_DebugBreakCallHelper(masm, rcx.bit(), false); | 149 Generate_DebugBreakCallHelper(masm, rcx.bit(), false); |
150 } | 150 } |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 Assembler::kCallInstructionLength); | 213 Assembler::kCallInstructionLength); |
214 rinfo()->PatchCodeWithCall(Debug::debug_break_return()->entry(), | 214 rinfo()->PatchCodeWithCall(Debug::debug_break_return()->entry(), |
215 Assembler::kJSReturnSequenceLength - Assembler::kCallInstructionLength); | 215 Assembler::kJSReturnSequenceLength - Assembler::kCallInstructionLength); |
216 } | 216 } |
217 | 217 |
218 #endif // ENABLE_DEBUGGER_SUPPORT | 218 #endif // ENABLE_DEBUGGER_SUPPORT |
219 | 219 |
220 } } // namespace v8::internal | 220 } } // namespace v8::internal |
221 | 221 |
222 #endif // V8_TARGET_ARCH_X64 | 222 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |