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

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

Issue 10831261: Build and use stack maps in the SSA compiler. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 4 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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_LOCATIONS_H_ 5 #ifndef VM_LOCATIONS_H_
6 #define VM_LOCATIONS_H_ 6 #define VM_LOCATIONS_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/bitfield.h" 10 #include "vm/bitfield.h"
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 Location* out_slot() { 261 Location* out_slot() {
262 return &output_location_; 262 return &output_location_;
263 } 263 }
264 264
265 265
266 void set_out(Location loc) { 266 void set_out(Location loc) {
267 ASSERT(!is_call() || loc.IsRegister()); 267 ASSERT(!is_call() || loc.IsRegister());
268 output_location_ = loc; 268 output_location_ = loc;
269 } 269 }
270 270
271 BitmapBuilder* stack_bitmap() const { return stack_bitmap_; }
272
271 bool is_call() const { 273 bool is_call() const {
272 return is_call_; 274 return is_call_;
273 } 275 }
274 276
275 void PrintTo(BufferFormatter* f) const; 277 void PrintTo(BufferFormatter* f) const;
276 278
277 static LocationSummary* Make(intptr_t input_count, 279 static LocationSummary* Make(intptr_t input_count,
278 Location out, 280 Location out,
279 LocationSummary::ContainsCall contains_call); 281 LocationSummary::ContainsCall contains_call);
280 282
281 private: 283 private:
282 // TODO(vegorov): replace with ZoneArray. 284 // TODO(vegorov): replace with ZoneArray.
283 GrowableArray<Location> input_locations_; 285 GrowableArray<Location> input_locations_;
284 GrowableArray<Location> temp_locations_; 286 GrowableArray<Location> temp_locations_;
285 Location output_location_; 287 Location output_location_;
286 288 BitmapBuilder* stack_bitmap_;
287 const bool is_call_; 289 const bool is_call_;
288 }; 290 };
289 291
290 292
291 } // namespace dart 293 } // namespace dart
292 294
293 #endif // VM_LOCATIONS_H_ 295 #endif // VM_LOCATIONS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698