OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_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 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 // Push a new stack handler and link into stack handler chain. | 721 // Push a new stack handler and link into stack handler chain. |
722 void PushStackHandler(); | 722 void PushStackHandler(); |
723 | 723 |
724 // Unlink the stack handler on top of the stack from the stack handler chain. | 724 // Unlink the stack handler on top of the stack from the stack handler chain. |
725 // Must preserve the result register. | 725 // Must preserve the result register. |
726 void PopStackHandler(); | 726 void PopStackHandler(); |
727 | 727 |
728 // --------------------------------------------------------------------------- | 728 // --------------------------------------------------------------------------- |
729 // Inline caching support | 729 // Inline caching support |
730 | 730 |
731 // Generate code for checking access rights - used for security checks | |
732 // on access to global objects across environments. The holder register | |
733 // is left untouched, whereas both scratch registers are clobbered. | |
734 void CheckAccessGlobalProxy(Register holder_reg, | |
735 Register scratch, | |
736 Label* miss); | |
737 | |
738 void GetNumberHash(Register t0, Register scratch); | 731 void GetNumberHash(Register t0, Register scratch); |
739 | 732 |
740 inline void MarkCode(NopMarkerTypes type) { | 733 inline void MarkCode(NopMarkerTypes type) { |
741 nop(type); | 734 nop(type); |
742 } | 735 } |
743 | 736 |
744 // Check if the given instruction is a 'type' marker. | 737 // Check if the given instruction is a 'type' marker. |
745 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type)) | 738 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type)) |
746 // These instructions are generated to mark special location in the code, | 739 // These instructions are generated to mark special location in the code, |
747 // like some special IC code. | 740 // like some special IC code. |
(...skipping 850 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1598 inline MemOperand NativeContextMemOperand() { | 1591 inline MemOperand NativeContextMemOperand() { |
1599 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1592 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
1600 } | 1593 } |
1601 | 1594 |
1602 #define ACCESS_MASM(masm) masm-> | 1595 #define ACCESS_MASM(masm) masm-> |
1603 | 1596 |
1604 } // namespace internal | 1597 } // namespace internal |
1605 } // namespace v8 | 1598 } // namespace v8 |
1606 | 1599 |
1607 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1600 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |