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

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

Issue 517343002: Ensure that BoxInt32 input is correctly preserved on the slow-path. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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') | runtime/vm/locations.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_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 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 624
625 static LocationSummary* Make(Isolate* isolate, 625 static LocationSummary* Make(Isolate* isolate,
626 intptr_t input_count, 626 intptr_t input_count,
627 Location out, 627 Location out,
628 ContainsCall contains_call); 628 ContainsCall contains_call);
629 629
630 RegisterSet* live_registers() { 630 RegisterSet* live_registers() {
631 return &live_registers_; 631 return &live_registers_;
632 } 632 }
633 633
634 #if defined(DEBUG)
635 // Debug only verification that ensures that writable registers are correctly
636 // preserved on the slow path.
637 void DiscoverWritableInputs();
638 void CheckWritableInputs();
639 #endif
640
634 private: 641 private:
635 const intptr_t num_inputs_; 642 const intptr_t num_inputs_;
636 Location* input_locations_; 643 Location* input_locations_;
637 const intptr_t num_temps_; 644 const intptr_t num_temps_;
638 Location* temp_locations_; 645 Location* temp_locations_;
639 Location output_location_; 646 Location output_location_;
640 647
641 BitmapBuilder* stack_bitmap_; 648 BitmapBuilder* stack_bitmap_;
642 649
643 const ContainsCall contains_call_; 650 const ContainsCall contains_call_;
644 RegisterSet live_registers_; 651 RegisterSet live_registers_;
652
653 #if defined(DEBUG)
654 intptr_t writable_inputs_;
655 #endif
645 }; 656 };
646 657
647 658
648 } // namespace dart 659 } // namespace dart
649 660
650 #endif // VM_LOCATIONS_H_ 661 #endif // VM_LOCATIONS_H_
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language_x64.cc ('k') | runtime/vm/locations.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698