Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: runtime/vm/assembler_mips.h

Issue 26294002: Cleanups: int -> intptr_t for "array" lengths, memory sizes. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/assembler_ia32.cc ('k') | runtime/vm/assembler_mips.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_MIPS_H_ 5 #ifndef VM_ASSEMBLER_MIPS_H_
6 #define VM_ASSEMBLER_MIPS_H_ 6 #define VM_ASSEMBLER_MIPS_H_
7 7
8 #ifndef VM_ASSEMBLER_H_ 8 #ifndef VM_ASSEMBLER_H_
9 #error Do not include assembler_mips.h directly; use assembler.h instead. 9 #error Do not include assembler_mips.h directly; use assembler.h instead.
10 #endif 10 #endif
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 public: 94 public:
95 Label() : position_(0) { } 95 Label() : position_(0) { }
96 96
97 ~Label() { 97 ~Label() {
98 // Assert if label is being destroyed with unresolved branches pending. 98 // Assert if label is being destroyed with unresolved branches pending.
99 ASSERT(!IsLinked()); 99 ASSERT(!IsLinked());
100 } 100 }
101 101
102 // Returns the position for bound and linked labels. Cannot be used 102 // Returns the position for bound and linked labels. Cannot be used
103 // for unused labels. 103 // for unused labels.
104 int Position() const { 104 intptr_t Position() const {
105 ASSERT(!IsUnused()); 105 ASSERT(!IsUnused());
106 return IsBound() ? -position_ - kWordSize : position_ - kWordSize; 106 return IsBound() ? -position_ - kWordSize : position_ - kWordSize;
107 } 107 }
108 108
109 bool IsBound() const { return position_ < 0; } 109 bool IsBound() const { return position_ < 0; }
110 bool IsUnused() const { return position_ == 0; } 110 bool IsUnused() const { return position_ == 0; }
111 bool IsLinked() const { return position_ > 0; } 111 bool IsLinked() const { return position_ > 0; }
112 112
113 private: 113 private:
114 int position_; 114 intptr_t position_;
115 115
116 void Reinitialize() { 116 void Reinitialize() {
117 position_ = 0; 117 position_ = 0;
118 } 118 }
119 119
120 void BindTo(int position) { 120 void BindTo(intptr_t position) {
121 ASSERT(!IsBound()); 121 ASSERT(!IsBound());
122 position_ = -position - kWordSize; 122 position_ = -position - kWordSize;
123 ASSERT(IsBound()); 123 ASSERT(IsBound());
124 } 124 }
125 125
126 void LinkTo(int position) { 126 void LinkTo(intptr_t position) {
127 ASSERT(!IsBound()); 127 ASSERT(!IsBound());
128 position_ = position + kWordSize; 128 position_ = position + kWordSize;
129 ASSERT(IsLinked()); 129 ASSERT(IsLinked());
130 } 130 }
131 131
132 friend class Assembler; 132 friend class Assembler;
133 DISALLOW_COPY_AND_ASSIGN(Label); 133 DISALLOW_COPY_AND_ASSIGN(Label);
134 }; 134 };
135 135
136 136
(...skipping 16 matching lines...) Expand all
153 delay_slot_available_(false), 153 delay_slot_available_(false),
154 in_delay_slot_(false), 154 in_delay_slot_(false),
155 comments_() { } 155 comments_() { }
156 ~Assembler() { } 156 ~Assembler() { }
157 157
158 void PopRegister(Register r) { Pop(r); } 158 void PopRegister(Register r) { Pop(r); }
159 159
160 void Bind(Label* label); 160 void Bind(Label* label);
161 161
162 // Misc. functionality 162 // Misc. functionality
163 int CodeSize() const { return buffer_.Size(); } 163 intptr_t CodeSize() const { return buffer_.Size(); }
164 int prologue_offset() const { return prologue_offset_; } 164 intptr_t prologue_offset() const { return prologue_offset_; }
165 const ZoneGrowableArray<int>& GetPointerOffsets() const { 165 const ZoneGrowableArray<intptr_t>& GetPointerOffsets() const {
166 return buffer_.pointer_offsets(); 166 return buffer_.pointer_offsets();
167 } 167 }
168 const GrowableObjectArray& object_pool() const { return object_pool_; } 168 const GrowableObjectArray& object_pool() const { return object_pool_; }
169 void FinalizeInstructions(const MemoryRegion& region) { 169 void FinalizeInstructions(const MemoryRegion& region) {
170 buffer_.FinalizeInstructions(region); 170 buffer_.FinalizeInstructions(region);
171 } 171 }
172 172
173 bool use_far_branches() const { 173 bool use_far_branches() const {
174 return FLAG_use_far_branches || use_far_branches_; 174 return FLAG_use_far_branches || use_far_branches_;
175 } 175 }
(...skipping 23 matching lines...) Expand all
199 // Debugging and bringup support. 199 // Debugging and bringup support.
200 void Stop(const char* message); 200 void Stop(const char* message);
201 201
202 // TODO(zra): TraceSimMsg enables printing of helpful messages when 202 // TODO(zra): TraceSimMsg enables printing of helpful messages when
203 // --trace_sim is given. Eventually these calls will be changed to Comment. 203 // --trace_sim is given. Eventually these calls will be changed to Comment.
204 void TraceSimMsg(const char* message); 204 void TraceSimMsg(const char* message);
205 void Unimplemented(const char* message); 205 void Unimplemented(const char* message);
206 void Untested(const char* message); 206 void Untested(const char* message);
207 void Unreachable(const char* message); 207 void Unreachable(const char* message);
208 208
209 static void InitializeMemoryWithBreakpoints(uword data, int length); 209 static void InitializeMemoryWithBreakpoints(uword data, intptr_t length);
210 210
211 void Comment(const char* format, ...) PRINTF_ATTRIBUTE(2, 3); 211 void Comment(const char* format, ...) PRINTF_ATTRIBUTE(2, 3);
212 212
213 const Code::Comments& GetCodeComments() const; 213 const Code::Comments& GetCodeComments() const;
214 214
215 static const char* RegisterName(Register reg); 215 static const char* RegisterName(Register reg);
216 216
217 static const char* FpuRegisterName(FpuRegister reg); 217 static const char* FpuRegisterName(FpuRegister reg);
218 218
219 void SetPrologueOffset() { 219 void SetPrologueOffset() {
(...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 void LeaveDartFrameAndReturn(); 1123 void LeaveDartFrameAndReturn();
1124 1124
1125 // Set up a Dart frame for a function compiled for on-stack replacement. 1125 // Set up a Dart frame for a function compiled for on-stack replacement.
1126 // The frame layout is a normal Dart frame, but the frame is partially set 1126 // The frame layout is a normal Dart frame, but the frame is partially set
1127 // up on entry (it is the frame of the unoptimized code). 1127 // up on entry (it is the frame of the unoptimized code).
1128 void EnterOsrFrame(intptr_t extra_size); 1128 void EnterOsrFrame(intptr_t extra_size);
1129 1129
1130 private: 1130 private:
1131 AssemblerBuffer buffer_; 1131 AssemblerBuffer buffer_;
1132 GrowableObjectArray& object_pool_; // Objects and patchable jump targets. 1132 GrowableObjectArray& object_pool_; // Objects and patchable jump targets.
1133 int prologue_offset_; 1133 intptr_t prologue_offset_;
1134 1134
1135 const bool use_far_branches_; 1135 const bool use_far_branches_;
1136 bool delay_slot_available_; 1136 bool delay_slot_available_;
1137 bool in_delay_slot_; 1137 bool in_delay_slot_;
1138 1138
1139 int32_t AddObject(const Object& obj); 1139 int32_t AddObject(const Object& obj);
1140 int32_t AddExternalLabel(const ExternalLabel* label); 1140 int32_t AddExternalLabel(const ExternalLabel* label);
1141 1141
1142 class CodeComment : public ZoneAllocated { 1142 class CodeComment : public ZoneAllocated {
1143 public: 1143 public:
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
1255 Register value, 1255 Register value,
1256 Label* no_update); 1256 Label* no_update);
1257 1257
1258 DISALLOW_ALLOCATION(); 1258 DISALLOW_ALLOCATION();
1259 DISALLOW_COPY_AND_ASSIGN(Assembler); 1259 DISALLOW_COPY_AND_ASSIGN(Assembler);
1260 }; 1260 };
1261 1261
1262 } // namespace dart 1262 } // namespace dart
1263 1263
1264 #endif // VM_ASSEMBLER_MIPS_H_ 1264 #endif // VM_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « runtime/vm/assembler_ia32.cc ('k') | runtime/vm/assembler_mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698