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

Side by Side Diff: src/types.h

Issue 1416953006: [types] Use unified integral representation bits. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « src/type-cache.h ('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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_TYPES_H_ 5 #ifndef V8_TYPES_H_
6 #define V8_TYPES_H_ 6 #define V8_TYPES_H_
7 7
8 #include "src/conversions.h" 8 #include "src/conversions.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 #include "src/objects.h" 10 #include "src/objects.h"
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 160
161 #define MASK_BITSET_TYPE_LIST(V) \ 161 #define MASK_BITSET_TYPE_LIST(V) \
162 V(Representation, 0xfff00000u) \ 162 V(Representation, 0xfff00000u) \
163 V(Semantic, 0x000ffffeu) 163 V(Semantic, 0x000ffffeu)
164 164
165 #define REPRESENTATION(k) ((k) & BitsetType::kRepresentation) 165 #define REPRESENTATION(k) ((k) & BitsetType::kRepresentation)
166 #define SEMANTIC(k) ((k) & BitsetType::kSemantic) 166 #define SEMANTIC(k) ((k) & BitsetType::kSemantic)
167 167
168 #define REPRESENTATION_BITSET_TYPE_LIST(V) \ 168 #define REPRESENTATION_BITSET_TYPE_LIST(V) \
169 V(None, 0) \ 169 V(None, 0) \
170 V(UntaggedBit, 1u << 20 | kSemantic) \ 170 V(UntaggedBit, 1u << 23 | kSemantic) \
171 V(UntaggedSigned8, 1u << 21 | kSemantic) \ 171 V(UntaggedIntegral8, 1u << 24 | kSemantic) \
172 V(UntaggedSigned16, 1u << 22 | kSemantic) \ 172 V(UntaggedIntegral16, 1u << 25 | kSemantic) \
173 V(UntaggedSigned32, 1u << 23 | kSemantic) \ 173 V(UntaggedIntegral32, 1u << 26 | kSemantic) \
174 V(UntaggedUnsigned8, 1u << 24 | kSemantic) \
175 V(UntaggedUnsigned16, 1u << 25 | kSemantic) \
176 V(UntaggedUnsigned32, 1u << 26 | kSemantic) \
177 V(UntaggedFloat32, 1u << 27 | kSemantic) \ 174 V(UntaggedFloat32, 1u << 27 | kSemantic) \
178 V(UntaggedFloat64, 1u << 28 | kSemantic) \ 175 V(UntaggedFloat64, 1u << 28 | kSemantic) \
179 V(UntaggedPointer, 1u << 29 | kSemantic) \ 176 V(UntaggedPointer, 1u << 29 | kSemantic) \
180 V(TaggedSigned, 1u << 30 | kSemantic) \ 177 V(TaggedSigned, 1u << 30 | kSemantic) \
181 V(TaggedPointer, 1u << 31 | kSemantic) \ 178 V(TaggedPointer, 1u << 31 | kSemantic) \
182 \ 179 \
183 V(UntaggedSigned, kUntaggedSigned8 | kUntaggedSigned16 | \ 180 V(UntaggedIntegral, kUntaggedBit | kUntaggedIntegral8 | \
184 kUntaggedSigned32) \ 181 kUntaggedIntegral16 | kUntaggedIntegral32) \
185 V(UntaggedUnsigned, kUntaggedUnsigned8 | kUntaggedUnsigned16 | \ 182 V(UntaggedFloat, kUntaggedFloat32 | kUntaggedFloat64) \
186 kUntaggedUnsigned32) \ 183 V(UntaggedNumber, kUntaggedIntegral | kUntaggedFloat) \
187 V(UntaggedIntegral8, kUntaggedSigned8 | kUntaggedUnsigned8) \ 184 V(Untagged, kUntaggedNumber | kUntaggedPointer) \
188 V(UntaggedIntegral16, kUntaggedSigned16 | kUntaggedUnsigned16) \
189 V(UntaggedIntegral32, kUntaggedSigned32 | kUntaggedUnsigned32) \
190 V(UntaggedIntegral, kUntaggedBit | kUntaggedSigned | kUntaggedUnsigned) \
191 V(UntaggedFloat, kUntaggedFloat32 | kUntaggedFloat64) \
192 V(UntaggedNumber, kUntaggedIntegral | kUntaggedFloat) \
193 V(Untagged, kUntaggedNumber | kUntaggedPointer) \
194 V(Tagged, kTaggedSigned | kTaggedPointer) 185 V(Tagged, kTaggedSigned | kTaggedPointer)
195 186
196 #define INTERNAL_BITSET_TYPE_LIST(V) \ 187 #define INTERNAL_BITSET_TYPE_LIST(V) \
197 V(OtherUnsigned31, 1u << 1 | REPRESENTATION(kTagged | kUntaggedNumber)) \ 188 V(OtherUnsigned31, 1u << 1 | REPRESENTATION(kTagged | kUntaggedNumber)) \
198 V(OtherUnsigned32, 1u << 2 | REPRESENTATION(kTagged | kUntaggedNumber)) \ 189 V(OtherUnsigned32, 1u << 2 | REPRESENTATION(kTagged | kUntaggedNumber)) \
199 V(OtherSigned32, 1u << 3 | REPRESENTATION(kTagged | kUntaggedNumber)) \ 190 V(OtherSigned32, 1u << 3 | REPRESENTATION(kTagged | kUntaggedNumber)) \
200 V(OtherNumber, 1u << 4 | REPRESENTATION(kTagged | kUntaggedNumber)) 191 V(OtherNumber, 1u << 4 | REPRESENTATION(kTagged | kUntaggedNumber))
201 192
202 #define SEMANTIC_BITSET_TYPE_LIST(V) \ 193 #define SEMANTIC_BITSET_TYPE_LIST(V) \
203 V(Negative31, 1u << 5 | REPRESENTATION(kTagged | kUntaggedNumber)) \ 194 V(Negative31, 1u << 5 | REPRESENTATION(kTagged | kUntaggedNumber)) \
(...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after
1183 return that.lower->Is(this->lower) && this->upper->Is(that.upper); 1174 return that.lower->Is(this->lower) && this->upper->Is(that.upper);
1184 } 1175 }
1185 }; 1176 };
1186 1177
1187 typedef BoundsImpl<ZoneTypeConfig> Bounds; 1178 typedef BoundsImpl<ZoneTypeConfig> Bounds;
1188 1179
1189 } // namespace internal 1180 } // namespace internal
1190 } // namespace v8 1181 } // namespace v8
1191 1182
1192 #endif // V8_TYPES_H_ 1183 #endif // V8_TYPES_H_
OLDNEW
« no previous file with comments | « src/type-cache.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698