| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_ASSEMBLER_IA32_H_ | 5 #ifndef VM_ASSEMBLER_IA32_H_ |
| 6 #define VM_ASSEMBLER_IA32_H_ | 6 #define VM_ASSEMBLER_IA32_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_ia32.h directly; use assembler.h instead. | 9 #error Do not include assembler_ia32.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 799 | 799 |
| 800 // Count the fixups that produce a pointer offset, without processing | 800 // Count the fixups that produce a pointer offset, without processing |
| 801 // the fixups. | 801 // the fixups. |
| 802 intptr_t CountPointerOffsets() const { | 802 intptr_t CountPointerOffsets() const { |
| 803 return buffer_.CountPointerOffsets(); | 803 return buffer_.CountPointerOffsets(); |
| 804 } | 804 } |
| 805 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { | 805 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { |
| 806 return buffer_.pointer_offsets(); | 806 return buffer_.pointer_offsets(); |
| 807 } | 807 } |
| 808 | 808 |
| 809 const GrowableObjectArray& object_pool_data() const { | 809 ObjectPoolWrapper& object_pool_wrapper() { return object_pool_wrapper_; } |
| 810 return object_pool_.data(); | 810 |
| 811 RawObjectPool* MakeObjectPool() { |
| 812 return object_pool_wrapper_.MakeObjectPool(); |
| 811 } | 813 } |
| 812 | 814 |
| 813 ObjectPool& object_pool() { return object_pool_; } | |
| 814 | |
| 815 void FinalizeInstructions(const MemoryRegion& region) { | 815 void FinalizeInstructions(const MemoryRegion& region) { |
| 816 buffer_.FinalizeInstructions(region); | 816 buffer_.FinalizeInstructions(region); |
| 817 } | 817 } |
| 818 | 818 |
| 819 // Set up a Dart frame on entry with a frame pointer and PC information to | 819 // Set up a Dart frame on entry with a frame pointer and PC information to |
| 820 // enable easy access to the RawInstruction object of code corresponding | 820 // enable easy access to the RawInstruction object of code corresponding |
| 821 // to this frame. | 821 // to this frame. |
| 822 // The dart frame layout is as follows: | 822 // The dart frame layout is as follows: |
| 823 // .... | 823 // .... |
| 824 // ret PC | 824 // ret PC |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 985 // in DEBUG mode, verifies that 'address' has content of type 'old_content'. | 985 // in DEBUG mode, verifies that 'address' has content of type 'old_content'. |
| 986 void VerifyHeapWord(const Address& address, FieldContent old_content); | 986 void VerifyHeapWord(const Address& address, FieldContent old_content); |
| 987 void VerifiedWrite(const Address& dest, | 987 void VerifiedWrite(const Address& dest, |
| 988 Register value, | 988 Register value, |
| 989 FieldContent old_content); | 989 FieldContent old_content); |
| 990 void UnverifiedStoreOldObject(const Address& dest, const Object& value); | 990 void UnverifiedStoreOldObject(const Address& dest, const Object& value); |
| 991 | 991 |
| 992 int32_t jit_cookie(); | 992 int32_t jit_cookie(); |
| 993 | 993 |
| 994 AssemblerBuffer buffer_; | 994 AssemblerBuffer buffer_; |
| 995 ObjectPool object_pool_; | 995 ObjectPoolWrapper object_pool_wrapper_; |
| 996 intptr_t prologue_offset_; | 996 intptr_t prologue_offset_; |
| 997 int32_t jit_cookie_; | 997 int32_t jit_cookie_; |
| 998 GrowableArray<CodeComment*> comments_; | 998 GrowableArray<CodeComment*> comments_; |
| 999 | 999 |
| 1000 DISALLOW_ALLOCATION(); | 1000 DISALLOW_ALLOCATION(); |
| 1001 DISALLOW_COPY_AND_ASSIGN(Assembler); | 1001 DISALLOW_COPY_AND_ASSIGN(Assembler); |
| 1002 }; | 1002 }; |
| 1003 | 1003 |
| 1004 | 1004 |
| 1005 inline void Assembler::EmitUint8(uint8_t value) { | 1005 inline void Assembler::EmitUint8(uint8_t value) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1028 } | 1028 } |
| 1029 | 1029 |
| 1030 | 1030 |
| 1031 inline void Assembler::EmitOperandSizeOverride() { | 1031 inline void Assembler::EmitOperandSizeOverride() { |
| 1032 EmitUint8(0x66); | 1032 EmitUint8(0x66); |
| 1033 } | 1033 } |
| 1034 | 1034 |
| 1035 } // namespace dart | 1035 } // namespace dart |
| 1036 | 1036 |
| 1037 #endif // VM_ASSEMBLER_IA32_H_ | 1037 #endif // VM_ASSEMBLER_IA32_H_ |
| OLD | NEW |