Chromium Code Reviews| Index: src/types.h |
| diff --git a/src/types.h b/src/types.h |
| index acd199d9c45062ab3d24c79f269fcfbef6141a4a..a164980caf812658507f130dfe7c1c0f8192b0ba 100644 |
| --- a/src/types.h |
| +++ b/src/types.h |
| @@ -48,8 +48,8 @@ namespace internal { |
| // T <= Any |
| // |
| // Oddball = Boolean \/ Null \/ Undefined |
| -// Number = Integer32 \/ Double |
| -// Integer31 < Integer32 |
| +// Number = Signed32 \/ Unsigned32 \/ Double |
| +// Smi < Signed32 |
|
Jakob Kummerow
2013/06/24 15:12:11
strictly speaking: Smi <= Signed32 (as well as Sig
rossberg
2013/06/25 06:21:51
Good point.
|
| // Name = String \/ Symbol |
| // UniqueName = InternalizedString \/ Symbol |
| // InternalizedString < String |
| @@ -60,6 +60,7 @@ namespace internal { |
| // Receiver = Object \/ Proxy |
| // Array < Object |
| // Function < Object |
| +// RegExp < Object |
| // |
| // Class(map) < T iff instance_type(map) < T |
| // Constant(x) < T iff instance_type(map(x)) < T |
| @@ -104,9 +105,11 @@ class Type : public Object { |
| static Type* Undefined() { return from_bitset(kUndefined); } |
| static Type* Number() { return from_bitset(kNumber); } |
| - static Type* Integer31() { return from_bitset(kInteger31); } |
| - static Type* Integer32() { return from_bitset(kInteger32); } |
| + static Type* Smi() { return from_bitset(kSmi); } |
| + static Type* Signed32() { return from_bitset(kSigned32); } |
| + static Type* Unsigned32() { return from_bitset(kUnsigned32); } |
| static Type* Double() { return from_bitset(kDouble); } |
| + static Type* NumberOrString() { return from_bitset(kNumberOrString); } |
| static Type* Name() { return from_bitset(kName); } |
| static Type* UniqueName() { return from_bitset(kUniqueName); } |
| @@ -119,6 +122,7 @@ class Type : public Object { |
| static Type* Undetectable() { return from_bitset(kUndetectable); } |
| static Type* Array() { return from_bitset(kArray); } |
| static Type* Function() { return from_bitset(kFunction); } |
| + static Type* RegExp() { return from_bitset(kRegExp); } |
| static Type* Proxy() { return from_bitset(kProxy); } |
| static Type* Class(Handle<Map> map) { return from_handle(map); } |
| @@ -188,25 +192,28 @@ class Type : public Object { |
| kNull = 1 << 0, |
| kUndefined = 1 << 1, |
| kBoolean = 1 << 2, |
| - kInteger31 = 1 << 3, |
| - kOtherInteger = 1 << 4, |
| - kDouble = 1 << 5, |
| - kSymbol = 1 << 6, |
| - kInternalizedString = 1 << 7, |
| - kOtherString = 1 << 8, |
| - kUndetectable = 1 << 9, |
| - kArray = 1 << 10, |
| - kFunction = 1 << 11, |
| - kOtherObject = 1 << 12, |
| - kProxy = 1 << 13, |
| + kSmi = 1 << 3, |
| + kOtherSigned32 = 1 << 4, |
| + kUnsigned32 = 1 << 5, |
| + kDouble = 1 << 6, |
| + kSymbol = 1 << 7, |
| + kInternalizedString = 1 << 8, |
| + kOtherString = 1 << 9, |
| + kUndetectable = 1 << 10, |
| + kArray = 1 << 11, |
| + kFunction = 1 << 12, |
| + kRegExp = 1 << 13, |
| + kOtherObject = 1 << 14, |
| + kProxy = 1 << 15, |
| kOddball = kBoolean | kNull | kUndefined, |
| - kInteger32 = kInteger31 | kOtherInteger, |
| - kNumber = kInteger32 | kDouble, |
| + kSigned32 = kSmi | kOtherSigned32, |
| + kNumber = kSigned32 | kUnsigned32 | kDouble, |
| kString = kInternalizedString | kOtherString, |
| kUniqueName = kSymbol | kInternalizedString, |
| kName = kSymbol | kString, |
| - kObject = kUndetectable | kArray | kFunction | kOtherObject, |
| + kNumberOrString = kNumber | kString, |
| + kObject = kUndetectable | kArray | kFunction | kRegExp | kOtherObject, |
| kReceiver = kObject | kProxy, |
| kAllocated = kDouble | kName | kReceiver, |
| kAny = kOddball | kNumber | kAllocated, |