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

Unified Diff: test/cctest/test-types.cc

Issue 795713003: Steps towards unification of number bitset and range types. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix BitsetType::Max for OtherNumber with missing representation Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: test/cctest/test-types.cc
diff --git a/test/cctest/test-types.cc b/test/cctest/test-types.cc
index ebef527dd0b3a64b019bdcf739e59f9ceef6f73d..ab85eb62600a07cf6b08a782f996ecac57e76f4e 100644
--- a/test/cctest/test-types.cc
+++ b/test/cctest/test-types.cc
@@ -291,42 +291,24 @@ struct Tests : Rep {
// Typing of numbers
Factory* fac = isolate->factory();
- CHECK(T.Constant(fac->NewNumber(0))->Is(T.UnsignedSmall));
- CHECK(T.Constant(fac->NewNumber(1))->Is(T.UnsignedSmall));
- CHECK(T.Constant(fac->NewNumber(0x3fffffff))->Is(T.UnsignedSmall));
- CHECK(T.Constant(fac->NewNumber(-1))->Is(T.NegativeSignedSmall));
- CHECK(T.Constant(fac->NewNumber(-0x3fffffff))->Is(T.NegativeSignedSmall));
- CHECK(T.Constant(fac->NewNumber(-0x40000000))->Is(T.NegativeSignedSmall));
- if (SmiValuesAre31Bits()) {
rossberg 2014/12/12 13:57:51 I think we should keep this platform-dependent tes
Jarin 2015/01/08 14:30:28 Note that all the T.*Small variants do not exist a
rossberg 2015/01/15 15:15:12 Well, of course you could (should) just add them.
Jarin 2015/01/16 16:28:39 Done.
- CHECK(T.Constant(fac->NewNumber(0x40000000))->Is(T.NonNegativeSigned32));
- CHECK(!T.Constant(fac->NewNumber(0x40000000))->Is(T.UnsignedSmall));
- CHECK(T.Constant(fac->NewNumber(0x7fffffff))->Is(T.NonNegativeSigned32));
- CHECK(!T.Constant(fac->NewNumber(0x7fffffff))->Is(T.UnsignedSmall));
- CHECK(T.Constant(fac->NewNumber(-0x40000001))->Is(T.NegativeSigned32));
- CHECK(
- !T.Constant(fac->NewNumber(-0x40000001))->Is(T.NegativeSignedSmall));
- CHECK(T.Constant(fac->NewNumber(-0x7fffffff))->Is(T.NegativeSigned32));
- CHECK(!T.Constant(fac->NewNumber(-0x7fffffff - 1))
- ->Is(T.NegativeSignedSmall));
- } else {
- CHECK(SmiValuesAre32Bits());
- CHECK(T.Constant(fac->NewNumber(0x40000000))->Is(T.UnsignedSmall));
- CHECK(T.Constant(fac->NewNumber(0x7fffffff))->Is(T.UnsignedSmall));
- CHECK(T.Constant(fac->NewNumber(0x40000000))->Is(T.NonNegativeSigned32));
- CHECK(T.Constant(fac->NewNumber(0x7fffffff))->Is(T.NonNegativeSigned32));
- CHECK(T.Constant(fac->NewNumber(-0x40000001))->Is(T.NegativeSignedSmall));
- CHECK(T.Constant(fac->NewNumber(-0x7fffffff))->Is(T.NegativeSignedSmall));
- CHECK(T.Constant(fac->NewNumber(-0x7fffffff - 1))
- ->Is(T.NegativeSignedSmall));
- CHECK(T.Constant(fac->NewNumber(-0x40000001))->Is(T.NegativeSigned32));
- CHECK(T.Constant(fac->NewNumber(-0x7fffffff))->Is(T.NegativeSigned32));
- CHECK(
- T.Constant(fac->NewNumber(-0x7fffffff - 1))->Is(T.NegativeSigned32));
- }
+ CHECK(T.Constant(fac->NewNumber(0))->Is(T.Unsigned30));
+ CHECK(T.Constant(fac->NewNumber(1))->Is(T.Unsigned30));
+ CHECK(T.Constant(fac->NewNumber(0x3fffffff))->Is(T.Unsigned30));
+ CHECK(T.Constant(fac->NewNumber(-1))->Is(T.Negative31));
+ CHECK(T.Constant(fac->NewNumber(-0x3fffffff))->Is(T.Negative31));
+ CHECK(T.Constant(fac->NewNumber(-0x40000000))->Is(T.Negative31));
+ CHECK(T.Constant(fac->NewNumber(0x40000000))->Is(T.Unsigned31));
+ CHECK(!T.Constant(fac->NewNumber(0x40000000))->Is(T.Unsigned30));
+ CHECK(T.Constant(fac->NewNumber(0x7fffffff))->Is(T.Unsigned31));
+ CHECK(!T.Constant(fac->NewNumber(0x7fffffff))->Is(T.Unsigned30));
+ CHECK(T.Constant(fac->NewNumber(-0x40000001))->Is(T.Negative32));
+ CHECK(!T.Constant(fac->NewNumber(-0x40000001))->Is(T.Negative31));
+ CHECK(T.Constant(fac->NewNumber(-0x7fffffff))->Is(T.Negative32));
+ CHECK(!T.Constant(fac->NewNumber(-0x7fffffff - 1))->Is(T.Negative31));
CHECK(T.Constant(fac->NewNumber(0x80000000u))->Is(T.Unsigned32));
- CHECK(!T.Constant(fac->NewNumber(0x80000000u))->Is(T.NonNegativeSigned32));
+ CHECK(!T.Constant(fac->NewNumber(0x80000000u))->Is(T.Unsigned31));
CHECK(T.Constant(fac->NewNumber(0xffffffffu))->Is(T.Unsigned32));
- CHECK(!T.Constant(fac->NewNumber(0xffffffffu))->Is(T.NonNegativeSigned32));
+ CHECK(!T.Constant(fac->NewNumber(0xffffffffu))->Is(T.Unsigned31));
CHECK(T.Constant(fac->NewNumber(0xffffffffu + 1.0))->Is(T.PlainNumber));
CHECK(!T.Constant(fac->NewNumber(0xffffffffu + 1.0))->Is(T.Integral32));
CHECK(T.Constant(fac->NewNumber(-0x7fffffff - 2.0))->Is(T.PlainNumber));
@@ -795,6 +777,7 @@ struct Tests : Rep {
(type1->IsClass() && type2->IsClass()) ||
(type1->IsConstant() && type2->IsConstant()) ||
(type1->IsConstant() && type2->IsRange()) ||
+ (this->IsBitset(type1) && type2->IsRange()) ||
(type1->IsRange() && type2->IsRange()) ||
(type1->IsContext() && type2->IsContext()) ||
(type1->IsArray() && type2->IsArray()) ||
@@ -931,10 +914,10 @@ struct Tests : Rep {
CheckUnordered(T.Undefined, T.Null);
CheckUnordered(T.Boolean, T.Undefined);
- CheckSub(T.SignedSmall, T.Number);
+ CheckSub(T.Signed31, T.Number);
CheckSub(T.Signed32, T.Number);
- CheckSub(T.SignedSmall, T.Signed32);
- CheckUnordered(T.SignedSmall, T.MinusZero);
+ CheckSub(T.Signed31, T.Signed32);
+ CheckUnordered(T.Signed31, T.MinusZero);
CheckUnordered(T.Signed32, T.Unsigned32);
CheckSub(T.UniqueName, T.Name);
@@ -964,7 +947,7 @@ struct Tests : Rep {
CheckUnordered(T.UninitializedClass, T.Null);
CheckUnordered(T.UninitializedClass, T.Undefined);
- CheckSub(T.SmiConstant, T.SignedSmall);
+ CheckSub(T.SmiConstant, T.Signed31);
CheckSub(T.SmiConstant, T.Signed32);
CheckSub(T.SmiConstant, T.Number);
CheckSub(T.ObjectConstant1, T.Object);
@@ -1258,7 +1241,7 @@ struct Tests : Rep {
CheckDisjoint(T.Boolean, T.Null);
CheckDisjoint(T.Undefined, T.Null);
CheckDisjoint(T.Boolean, T.Undefined);
- CheckOverlap(T.SignedSmall, T.Number);
+ CheckOverlap(T.Signed31, T.Number);
CheckOverlap(T.NaN, T.Number);
CheckDisjoint(T.Signed32, T.NaN);
CheckOverlap(T.UniqueName, T.Name);
@@ -1282,7 +1265,7 @@ struct Tests : Rep {
CheckOverlap(T.ObjectClass, T.ObjectClass);
CheckOverlap(T.ArrayClass, T.ArrayClass);
CheckDisjoint(T.ObjectClass, T.ArrayClass);
- CheckOverlap(T.SmiConstant, T.SignedSmall);
+ CheckOverlap(T.SmiConstant, T.Signed31);
CheckOverlap(T.SmiConstant, T.Signed32);
CheckOverlap(T.SmiConstant, T.Number);
CheckOverlap(T.ObjectConstant1, T.Object);
@@ -1477,8 +1460,7 @@ struct Tests : Rep {
CheckDisjoint(T.Union(T.NumberFunction1, T.String), T.Number);
// Bitset-class
- CheckSub(
- T.Union(T.ObjectClass, T.SignedSmall), T.Union(T.Object, T.Number));
+ CheckSub(T.Union(T.ObjectClass, T.Signed31), T.Union(T.Object, T.Number));
CheckSub(T.Union(T.ObjectClass, T.Array), T.Object);
CheckUnordered(T.Union(T.ObjectClass, T.String), T.Array);
CheckOverlap(T.Union(T.ObjectClass, T.String), T.Object);
@@ -1549,9 +1531,7 @@ struct Tests : Rep {
T.Union(T.ObjectConstant1, T.ObjectConstant2)),
T.Union(T.ObjectConstant2, T.ObjectConstant1));
CheckEqual(
- T.Union(
- T.Union(T.Number, T.ArrayClass),
- T.Union(T.SignedSmall, T.Array)),
+ T.Union(T.Union(T.Number, T.ArrayClass), T.Union(T.Signed31, T.Array)),
T.Union(T.Number, T.Array));
}
@@ -1766,11 +1746,9 @@ struct Tests : Rep {
->IsInhabited()); // !!!
// Union-union
- CheckEqual(
- T.Intersect(
- T.Union(T.Number, T.ArrayClass),
- T.Union(T.SignedSmall, T.Array)),
- T.Union(T.SignedSmall, T.ArrayClass));
+ CheckEqual(T.Intersect(T.Union(T.Number, T.ArrayClass),
+ T.Union(T.Signed31, T.Array)),
+ T.Union(T.Signed31, T.ArrayClass));
CheckEqual(
T.Intersect(
T.Union(T.Number, T.ObjectClass),

Powered by Google App Engine
This is Rietveld 408576698