| 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 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 655 // Push a new stack handler and link into stack handler chain. | 655 // Push a new stack handler and link into stack handler chain. |
| 656 void PushStackHandler(); | 656 void PushStackHandler(); |
| 657 | 657 |
| 658 // Unlink the stack handler on top of the stack from the stack handler chain. | 658 // Unlink the stack handler on top of the stack from the stack handler chain. |
| 659 // Must preserve the result register. | 659 // Must preserve the result register. |
| 660 void PopStackHandler(); | 660 void PopStackHandler(); |
| 661 | 661 |
| 662 // --------------------------------------------------------------------------- | 662 // --------------------------------------------------------------------------- |
| 663 // Inline caching support | 663 // Inline caching support |
| 664 | 664 |
| 665 // Generate code for checking access rights - used for security checks | |
| 666 // on access to global objects across environments. The holder register | |
| 667 // is left untouched, whereas both scratch registers are clobbered. | |
| 668 void CheckAccessGlobalProxy(Register holder_reg, Register scratch, | |
| 669 Label* miss); | |
| 670 | |
| 671 void GetNumberHash(Register t0, Register scratch); | 665 void GetNumberHash(Register t0, Register scratch); |
| 672 | 666 |
| 673 inline void MarkCode(NopMarkerTypes type) { nop(type); } | 667 inline void MarkCode(NopMarkerTypes type) { nop(type); } |
| 674 | 668 |
| 675 // Check if the given instruction is a 'type' marker. | 669 // Check if the given instruction is a 'type' marker. |
| 676 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type)) | 670 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type)) |
| 677 // These instructions are generated to mark special location in the code, | 671 // These instructions are generated to mark special location in the code, |
| 678 // like some special IC code. | 672 // like some special IC code. |
| 679 static inline bool IsMarkedCode(Instr instr, int type) { | 673 static inline bool IsMarkedCode(Instr instr, int type) { |
| 680 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER)); | 674 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER)); |
| (...skipping 972 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1653 inline MemOperand NativeContextMemOperand() { | 1647 inline MemOperand NativeContextMemOperand() { |
| 1654 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1648 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
| 1655 } | 1649 } |
| 1656 | 1650 |
| 1657 #define ACCESS_MASM(masm) masm-> | 1651 #define ACCESS_MASM(masm) masm-> |
| 1658 | 1652 |
| 1659 } // namespace internal | 1653 } // namespace internal |
| 1660 } // namespace v8 | 1654 } // namespace v8 |
| 1661 | 1655 |
| 1662 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1656 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
| OLD | NEW |