| 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 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 701 void SmiUntag(Register reg) { | 701 void SmiUntag(Register reg) { |
| 702 sarl(reg, Immediate(kSmiTagSize)); | 702 sarl(reg, Immediate(kSmiTagSize)); |
| 703 } | 703 } |
| 704 | 704 |
| 705 intptr_t PreferredLoopAlignment() { return 16; } | 705 intptr_t PreferredLoopAlignment() { return 16; } |
| 706 void Align(intptr_t alignment, intptr_t offset); | 706 void Align(intptr_t alignment, intptr_t offset); |
| 707 void Bind(Label* label); | 707 void Bind(Label* label); |
| 708 | 708 |
| 709 intptr_t CodeSize() const { return buffer_.Size(); } | 709 intptr_t CodeSize() const { return buffer_.Size(); } |
| 710 intptr_t prologue_offset() const { return prologue_offset_; } | 710 intptr_t prologue_offset() const { return prologue_offset_; } |
| 711 |
| 712 // Count the fixups that produce a pointer offset, without processing |
| 713 // the fixups. |
| 714 intptr_t CountPointerOffsets() const { |
| 715 return buffer_.CountPointerOffsets(); |
| 716 } |
| 711 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { | 717 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const { |
| 712 return buffer_.pointer_offsets(); | 718 return buffer_.pointer_offsets(); |
| 713 } | 719 } |
| 714 const GrowableObjectArray& object_pool() const { return object_pool_; } | 720 const GrowableObjectArray& object_pool() const { return object_pool_; } |
| 715 | 721 |
| 716 void FinalizeInstructions(const MemoryRegion& region) { | 722 void FinalizeInstructions(const MemoryRegion& region) { |
| 717 buffer_.FinalizeInstructions(region); | 723 buffer_.FinalizeInstructions(region); |
| 718 } | 724 } |
| 719 | 725 |
| 720 // Set up a Dart frame on entry with a frame pointer and PC information to | 726 // Set up a Dart frame on entry with a frame pointer and PC information to |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 878 } | 884 } |
| 879 | 885 |
| 880 | 886 |
| 881 inline void Assembler::EmitOperandSizeOverride() { | 887 inline void Assembler::EmitOperandSizeOverride() { |
| 882 EmitUint8(0x66); | 888 EmitUint8(0x66); |
| 883 } | 889 } |
| 884 | 890 |
| 885 } // namespace dart | 891 } // namespace dart |
| 886 | 892 |
| 887 #endif // VM_ASSEMBLER_IA32_H_ | 893 #endif // VM_ASSEMBLER_IA32_H_ |
| OLD | NEW |