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

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

Issue 10887009: Refactor branch instructions to enable further optimizations. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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/intermediate_language_x64.cc ('k') | no next file » | 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) 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 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 366
367 Location out() const { 367 Location out() const {
368 return output_location_; 368 return output_location_;
369 } 369 }
370 370
371 Location* out_slot() { 371 Location* out_slot() {
372 return &output_location_; 372 return &output_location_;
373 } 373 }
374 374
375 void set_out(Location loc) { 375 void set_out(Location loc) {
376 ASSERT(!always_calls() || loc.IsRegister()); 376 ASSERT(!always_calls() || (loc.IsRegister() || loc.IsInvalid()));
377 output_location_ = loc; 377 output_location_ = loc;
378 } 378 }
379 379
380 BitmapBuilder* stack_bitmap() const { return stack_bitmap_; } 380 BitmapBuilder* stack_bitmap() const { return stack_bitmap_; }
381 381
382 bool always_calls() const { 382 bool always_calls() const {
383 return contains_call_ == kCall; 383 return contains_call_ == kCall;
384 } 384 }
385 385
386 bool can_call() { 386 bool can_call() {
(...skipping 18 matching lines...) Expand all
405 BitmapBuilder* stack_bitmap_; 405 BitmapBuilder* stack_bitmap_;
406 406
407 const ContainsCall contains_call_; 407 const ContainsCall contains_call_;
408 RegisterSet live_registers_; 408 RegisterSet live_registers_;
409 }; 409 };
410 410
411 411
412 } // namespace dart 412 } // namespace dart
413 413
414 #endif // VM_LOCATIONS_H_ 414 #endif // VM_LOCATIONS_H_
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language_x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698