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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 // -- rcx : key | 137 // -- rcx : key |
138 // -- rdx : receiver | 138 // -- rdx : receiver |
139 // ----------------------------------- | 139 // ----------------------------------- |
140 Generate_DebugBreakCallHelper(masm, rax.bit() | rcx.bit() | rdx.bit(), false); | 140 Generate_DebugBreakCallHelper(masm, rax.bit() | rcx.bit() | rdx.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 // -- rax : receiver |
147 // -- rcx : name | 148 // -- rcx : name |
148 // ----------------------------------- | 149 // ----------------------------------- |
149 Generate_DebugBreakCallHelper(masm, rcx.bit(), false); | 150 Generate_DebugBreakCallHelper(masm, rax.bit() | rcx.bit(), false); |
150 } | 151 } |
151 | 152 |
152 | 153 |
153 void Debug::GenerateReturnDebugBreak(MacroAssembler* masm) { | 154 void Debug::GenerateReturnDebugBreak(MacroAssembler* masm) { |
154 // Register state just before return from JS function (from codegen-x64.cc). | 155 // Register state just before return from JS function (from codegen-x64.cc). |
155 // ----------- S t a t e ------------- | 156 // ----------- S t a t e ------------- |
156 // -- rax: return value | 157 // -- rax: return value |
157 // ----------------------------------- | 158 // ----------------------------------- |
158 Generate_DebugBreakCallHelper(masm, rax.bit(), true); | 159 Generate_DebugBreakCallHelper(masm, rax.bit(), true); |
159 } | 160 } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 Assembler::kCallInstructionLength); | 214 Assembler::kCallInstructionLength); |
214 rinfo()->PatchCodeWithCall(Debug::debug_break_return()->entry(), | 215 rinfo()->PatchCodeWithCall(Debug::debug_break_return()->entry(), |
215 Assembler::kJSReturnSequenceLength - Assembler::kCallInstructionLength); | 216 Assembler::kJSReturnSequenceLength - Assembler::kCallInstructionLength); |
216 } | 217 } |
217 | 218 |
218 #endif // ENABLE_DEBUGGER_SUPPORT | 219 #endif // ENABLE_DEBUGGER_SUPPORT |
219 | 220 |
220 } } // namespace v8::internal | 221 } } // namespace v8::internal |
221 | 222 |
222 #endif // V8_TARGET_ARCH_X64 | 223 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |