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, |