| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
| 10 #include "src/debug.h" | 10 #include "src/debug.h" |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 | 236 |
| 237 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) { | 237 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) { |
| 238 // Calling convention for IC load (from ic-arm.cc). | 238 // Calling convention for IC load (from ic-arm.cc). |
| 239 Register receiver = LoadIC::ReceiverRegister(); | 239 Register receiver = LoadIC::ReceiverRegister(); |
| 240 Register name = LoadIC::NameRegister(); | 240 Register name = LoadIC::NameRegister(); |
| 241 Generate_DebugBreakCallHelper(masm, receiver.Bit() | name.Bit(), 0, x10); | 241 Generate_DebugBreakCallHelper(masm, receiver.Bit() | name.Bit(), 0, x10); |
| 242 } | 242 } |
| 243 | 243 |
| 244 | 244 |
| 245 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { | 245 void DebugCodegen::GenerateStoreICDebugBreak(MacroAssembler* masm) { |
| 246 // Calling convention for IC store (from ic-arm.cc). | 246 // Calling convention for IC store (from ic-arm64.cc). |
| 247 // ----------- S t a t e ------------- | 247 Register receiver = StoreIC::ReceiverRegister(); |
| 248 // -- x0 : value | 248 Register name = StoreIC::NameRegister(); |
| 249 // -- x1 : receiver | 249 Register value = StoreIC::ValueRegister(); |
| 250 // -- x2 : name | 250 Generate_DebugBreakCallHelper( |
| 251 // -- lr : return address | 251 masm, receiver.Bit() | name.Bit() | value.Bit(), 0, x10); |
| 252 // ----------------------------------- | |
| 253 // Registers x0, x1, and x2 contain objects that need to be pushed on the | |
| 254 // expression stack of the fake JS frame. | |
| 255 Generate_DebugBreakCallHelper(masm, x0.Bit() | x1.Bit() | x2.Bit(), 0, x10); | |
| 256 } | 252 } |
| 257 | 253 |
| 258 | 254 |
| 259 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { | 255 void DebugCodegen::GenerateKeyedLoadICDebugBreak(MacroAssembler* masm) { |
| 260 // Calling convention for keyed IC load (from ic-arm.cc). | 256 // Calling convention for keyed IC load (from ic-arm.cc). |
| 261 GenerateLoadICDebugBreak(masm); | 257 GenerateLoadICDebugBreak(masm); |
| 262 } | 258 } |
| 263 | 259 |
| 264 | 260 |
| 265 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { | 261 void DebugCodegen::GenerateKeyedStoreICDebugBreak(MacroAssembler* masm) { |
| 266 // ---------- S t a t e -------------- | 262 // Calling convention for IC keyed store call (from ic-arm64.cc). |
| 267 // -- x0 : value | 263 Register receiver = KeyedStoreIC::ReceiverRegister(); |
| 268 // -- x1 : key | 264 Register name = KeyedStoreIC::NameRegister(); |
| 269 // -- x2 : receiver | 265 Register value = KeyedStoreIC::ValueRegister(); |
| 270 // -- lr : return address | 266 Generate_DebugBreakCallHelper( |
| 271 Generate_DebugBreakCallHelper(masm, x0.Bit() | x1.Bit() | x2.Bit(), 0, x10); | 267 masm, receiver.Bit() | name.Bit() | value.Bit(), 0, x10); |
| 272 } | 268 } |
| 273 | 269 |
| 274 | 270 |
| 275 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { | 271 void DebugCodegen::GenerateCompareNilICDebugBreak(MacroAssembler* masm) { |
| 276 // Register state for CompareNil IC | 272 // Register state for CompareNil IC |
| 277 // ----------- S t a t e ------------- | 273 // ----------- S t a t e ------------- |
| 278 // -- r0 : value | 274 // -- r0 : value |
| 279 // ----------------------------------- | 275 // ----------------------------------- |
| 280 Generate_DebugBreakCallHelper(masm, x0.Bit(), 0, x10); | 276 Generate_DebugBreakCallHelper(masm, x0.Bit(), 0, x10); |
| 281 } | 277 } |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 // Re-run JSFunction, x1 is function, cp is context. | 369 // Re-run JSFunction, x1 is function, cp is context. |
| 374 __ Br(scratch); | 370 __ Br(scratch); |
| 375 } | 371 } |
| 376 | 372 |
| 377 | 373 |
| 378 const bool LiveEdit::kFrameDropperSupported = true; | 374 const bool LiveEdit::kFrameDropperSupported = true; |
| 379 | 375 |
| 380 } } // namespace v8::internal | 376 } } // namespace v8::internal |
| 381 | 377 |
| 382 #endif // V8_TARGET_ARCH_ARM64 | 378 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |