| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
| 10 #include "src/frames.h" | 10 #include "src/frames.h" |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 LoadP(src2, MemOperand(sp, 3 * kPointerSize)); | 335 LoadP(src2, MemOperand(sp, 3 * kPointerSize)); |
| 336 LoadP(src1, MemOperand(sp, 4 * kPointerSize)); | 336 LoadP(src1, MemOperand(sp, 4 * kPointerSize)); |
| 337 addi(sp, sp, Operand(5 * kPointerSize)); | 337 addi(sp, sp, Operand(5 * kPointerSize)); |
| 338 } | 338 } |
| 339 | 339 |
| 340 // Push a fixed frame, consisting of lr, fp, context and | 340 // Push a fixed frame, consisting of lr, fp, context and |
| 341 // JS function / marker id if marker_reg is a valid register. | 341 // JS function / marker id if marker_reg is a valid register. |
| 342 void PushFixedFrame(Register marker_reg = no_reg); | 342 void PushFixedFrame(Register marker_reg = no_reg); |
| 343 void PopFixedFrame(Register marker_reg = no_reg); | 343 void PopFixedFrame(Register marker_reg = no_reg); |
| 344 | 344 |
| 345 // Restore caller's frame pointer and return address prior to being |
| 346 // overwritten by tail call stack preparation. |
| 347 void RestoreFrameStateForTailCall(); |
| 348 |
| 345 // Push and pop the registers that can hold pointers, as defined by the | 349 // Push and pop the registers that can hold pointers, as defined by the |
| 346 // RegList constant kSafepointSavedRegisters. | 350 // RegList constant kSafepointSavedRegisters. |
| 347 void PushSafepointRegisters(); | 351 void PushSafepointRegisters(); |
| 348 void PopSafepointRegisters(); | 352 void PopSafepointRegisters(); |
| 349 // Store value in register src in the safepoint stack slot for | 353 // Store value in register src in the safepoint stack slot for |
| 350 // register dst. | 354 // register dst. |
| 351 void StoreToSafepointRegisterSlot(Register src, Register dst); | 355 void StoreToSafepointRegisterSlot(Register src, Register dst); |
| 352 // Load the value of the src register from its safepoint stack slot | 356 // Load the value of the src register from its safepoint stack slot |
| 353 // into register dst. | 357 // into register dst. |
| 354 void LoadFromSafepointRegisterSlot(Register dst, Register src); | 358 void LoadFromSafepointRegisterSlot(Register dst, Register src); |
| (...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1584 #define ACCESS_MASM(masm) \ | 1588 #define ACCESS_MASM(masm) \ |
| 1585 masm->stop(__FILE_LINE__); \ | 1589 masm->stop(__FILE_LINE__); \ |
| 1586 masm-> | 1590 masm-> |
| 1587 #else | 1591 #else |
| 1588 #define ACCESS_MASM(masm) masm-> | 1592 #define ACCESS_MASM(masm) masm-> |
| 1589 #endif | 1593 #endif |
| 1590 } // namespace internal | 1594 } // namespace internal |
| 1591 } // namespace v8 | 1595 } // namespace v8 |
| 1592 | 1596 |
| 1593 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1597 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| OLD | NEW |