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 ObjectPoolHelper& object_pool() { return object_pool_; } |
810 return object_pool_.data(); | |
811 } | |
812 | 810 |
813 ObjectPool& object_pool() { return object_pool_; } | 811 RawObjectPool* MakeObjectPool() { return object_pool_.MakeObjectPool(); } |
814 | 812 |
815 void FinalizeInstructions(const MemoryRegion& region) { | 813 void FinalizeInstructions(const MemoryRegion& region) { |
816 buffer_.FinalizeInstructions(region); | 814 buffer_.FinalizeInstructions(region); |
817 } | 815 } |
818 | 816 |
819 // Set up a Dart frame on entry with a frame pointer and PC information to | 817 // 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 | 818 // enable easy access to the RawInstruction object of code corresponding |
821 // to this frame. | 819 // to this frame. |
822 // The dart frame layout is as follows: | 820 // The dart frame layout is as follows: |
823 // .... | 821 // .... |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
985 // in DEBUG mode, verifies that 'address' has content of type 'old_content'. | 983 // in DEBUG mode, verifies that 'address' has content of type 'old_content'. |
986 void VerifyHeapWord(const Address& address, FieldContent old_content); | 984 void VerifyHeapWord(const Address& address, FieldContent old_content); |
987 void VerifiedWrite(const Address& dest, | 985 void VerifiedWrite(const Address& dest, |
988 Register value, | 986 Register value, |
989 FieldContent old_content); | 987 FieldContent old_content); |
990 void UnverifiedStoreOldObject(const Address& dest, const Object& value); | 988 void UnverifiedStoreOldObject(const Address& dest, const Object& value); |
991 | 989 |
992 int32_t jit_cookie(); | 990 int32_t jit_cookie(); |
993 | 991 |
994 AssemblerBuffer buffer_; | 992 AssemblerBuffer buffer_; |
995 ObjectPool object_pool_; | 993 ObjectPoolHelper object_pool_; |
996 intptr_t prologue_offset_; | 994 intptr_t prologue_offset_; |
997 int32_t jit_cookie_; | 995 int32_t jit_cookie_; |
998 GrowableArray<CodeComment*> comments_; | 996 GrowableArray<CodeComment*> comments_; |
999 | 997 |
1000 DISALLOW_ALLOCATION(); | 998 DISALLOW_ALLOCATION(); |
1001 DISALLOW_COPY_AND_ASSIGN(Assembler); | 999 DISALLOW_COPY_AND_ASSIGN(Assembler); |
1002 }; | 1000 }; |
1003 | 1001 |
1004 | 1002 |
1005 inline void Assembler::EmitUint8(uint8_t value) { | 1003 inline void Assembler::EmitUint8(uint8_t value) { |
(...skipping 22 matching lines...) Expand all Loading... |
1028 } | 1026 } |
1029 | 1027 |
1030 | 1028 |
1031 inline void Assembler::EmitOperandSizeOverride() { | 1029 inline void Assembler::EmitOperandSizeOverride() { |
1032 EmitUint8(0x66); | 1030 EmitUint8(0x66); |
1033 } | 1031 } |
1034 | 1032 |
1035 } // namespace dart | 1033 } // namespace dart |
1036 | 1034 |
1037 #endif // VM_ASSEMBLER_IA32_H_ | 1035 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |