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

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

Issue 298963006: Change COMPILE_ASSERT to take only one argument and use it in more places. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 7 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/flow_graph_optimizer.cc ('k') | runtime/vm/object.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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 kRegister = 8, 90 kRegister = 8,
91 91
92 // FpuRegister location represents a fixed fpu register. Payload contains 92 // FpuRegister location represents a fixed fpu register. Payload contains
93 // its code. 93 // its code.
94 kFpuRegister = 12, 94 kFpuRegister = 12,
95 }; 95 };
96 96
97 Location() : value_(kInvalidLocation) { 97 Location() : value_(kInvalidLocation) {
98 // Verify that non-tagged location kinds do not interfere with location tags 98 // Verify that non-tagged location kinds do not interfere with location tags
99 // (kConstantTag and kPairLocationTag). 99 // (kConstantTag and kPairLocationTag).
100 COMPILE_ASSERT(((kInvalid & kLocationTagMask) != kConstantTag), 100 COMPILE_ASSERT((kInvalid & kLocationTagMask) != kConstantTag);
101 invalid_conflicts_with_constant_tag); 101 COMPILE_ASSERT((kInvalid & kLocationTagMask) != kPairLocationTag);
102 COMPILE_ASSERT(((kInvalid & kLocationTagMask) != kPairLocationTag),
103 invalid_conflicts_with_pair_tag);
104 102
105 COMPILE_ASSERT(((kUnallocated & kLocationTagMask) != kConstantTag), 103 COMPILE_ASSERT((kUnallocated & kLocationTagMask) != kConstantTag);
106 unallocated_conflicts_with_constant_tag); 104 COMPILE_ASSERT((kUnallocated & kLocationTagMask) != kPairLocationTag);
107 COMPILE_ASSERT(((kUnallocated & kLocationTagMask) != kPairLocationTag),
108 unallocated_conflicts_with_pair_tag);
109 105
110 COMPILE_ASSERT(((kStackSlot & kLocationTagMask) != kConstantTag), 106 COMPILE_ASSERT((kStackSlot & kLocationTagMask) != kConstantTag);
111 stackslot_conflicts_with_constant_tag); 107 COMPILE_ASSERT((kStackSlot & kLocationTagMask) != kPairLocationTag);
112 COMPILE_ASSERT(((kStackSlot & kLocationTagMask) != kPairLocationTag),
113 stackslot_conflicts_with_pair_tag);
114 108
115 COMPILE_ASSERT(((kDoubleStackSlot & kLocationTagMask) != kConstantTag), 109 COMPILE_ASSERT((kDoubleStackSlot & kLocationTagMask) != kConstantTag);
116 doublestackslot_conflicts_with_constant_tag); 110 COMPILE_ASSERT((kDoubleStackSlot & kLocationTagMask) != kPairLocationTag);
117 COMPILE_ASSERT(((kDoubleStackSlot & kLocationTagMask) != kPairLocationTag),
118 doublestackslot_conflicts_with_pair_tag);
119 111
120 COMPILE_ASSERT(((kQuadStackSlot & kLocationTagMask) != kConstantTag), 112 COMPILE_ASSERT((kQuadStackSlot & kLocationTagMask) != kConstantTag);
121 quadstackslot_conflicts_with_constant_tag); 113 COMPILE_ASSERT((kQuadStackSlot & kLocationTagMask) != kPairLocationTag);
122 COMPILE_ASSERT(((kQuadStackSlot & kLocationTagMask) != kPairLocationTag),
123 quadstackslot_conflicts_with_pair_tag);
124 114
125 COMPILE_ASSERT(((kRegister & kLocationTagMask) != kConstantTag), 115 COMPILE_ASSERT((kRegister & kLocationTagMask) != kConstantTag);
126 register_conflicts_with_constant_tag); 116 COMPILE_ASSERT((kRegister & kLocationTagMask) != kPairLocationTag);
127 COMPILE_ASSERT(((kRegister & kLocationTagMask) != kPairLocationTag),
128 register_conflicts_with_pair_tag);
129 117
130 COMPILE_ASSERT(((kFpuRegister & kLocationTagMask) != kConstantTag), 118 COMPILE_ASSERT((kFpuRegister & kLocationTagMask) != kConstantTag);
131 fpuregister_conflicts_with_constant_tag); 119 COMPILE_ASSERT((kFpuRegister & kLocationTagMask) != kPairLocationTag);
132 COMPILE_ASSERT(((kFpuRegister & kLocationTagMask) != kPairLocationTag),
133 fpuregister_conflicts_with_pair_tag);
134 120
135 // Verify tags and tagmask. 121 // Verify tags and tagmask.
136 COMPILE_ASSERT(((kConstantTag & kLocationTagMask) == kConstantTag), 122 COMPILE_ASSERT((kConstantTag & kLocationTagMask) == kConstantTag);
137 bad_constant_tag);
138 123
139 COMPILE_ASSERT(((kPairLocationTag & kLocationTagMask) == kPairLocationTag), 124 COMPILE_ASSERT((kPairLocationTag & kLocationTagMask) == kPairLocationTag);
140 bad_pair_tag);
141 125
142 ASSERT(IsInvalid()); 126 ASSERT(IsInvalid());
143 } 127 }
144 128
145 Location(const Location& other) : ValueObject(), value_(other.value_) { } 129 Location(const Location& other) : ValueObject(), value_(other.value_) { }
146 130
147 Location& operator=(const Location& other) { 131 Location& operator=(const Location& other) {
148 value_ = other.value_; 132 value_ = other.value_;
149 return *this; 133 return *this;
150 } 134 }
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 BitmapBuilder* stack_bitmap_; 615 BitmapBuilder* stack_bitmap_;
632 616
633 const ContainsCall contains_call_; 617 const ContainsCall contains_call_;
634 RegisterSet live_registers_; 618 RegisterSet live_registers_;
635 }; 619 };
636 620
637 621
638 } // namespace dart 622 } // namespace dart
639 623
640 #endif // VM_LOCATIONS_H_ 624 #endif // VM_LOCATIONS_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_optimizer.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698