Index: test/cctest/types-fuzz.h |
diff --git a/test/cctest/types-fuzz.h b/test/cctest/types-fuzz.h |
index 4eac64c838b409ce0c96b1383d28dc8867c09a33..233249a4b924d223dc9f02f7a6fa868519dc457a 100644 |
--- a/test/cctest/types-fuzz.h |
+++ b/test/cctest/types-fuzz.h |
@@ -40,8 +40,13 @@ |
Types(Region* region, Isolate* isolate) |
: region_(region), rng_(isolate->random_number_generator()) { |
#define DECLARE_TYPE(name, value) \ |
- name = Type::name(region); \ |
- types.push_back(name); |
+ name = Type::name(region); \ |
+ if (SmiValuesAre31Bits() || \ |
+ (!Type::name(region)->Equals(Type::OtherSigned32()) && \ |
+ !Type::name(region)->Equals(Type::OtherUnsigned31()))) { \ |
+ /* Hack: Avoid generating those empty bitset types. */ \ |
+ types.push_back(name); \ |
+ } |
PROPER_BITSET_TYPE_LIST(DECLARE_TYPE) |
#undef DECLARE_TYPE |
@@ -128,7 +133,7 @@ |
Handle<i::Oddball> uninitialized; |
#define DECLARE_TYPE(name, value) TypeHandle name; |
- PROPER_BITSET_TYPE_LIST(DECLARE_TYPE) |
+ BITSET_TYPE_LIST(DECLARE_TYPE) |
#undef DECLARE_TYPE |
TypeHandle ObjectClass; |
@@ -233,6 +238,12 @@ |
int j = rng_->NextInt(n); |
#define PICK_BITSET_TYPE(type, value) \ |
if (j-- == 0) { \ |
+ if (!SmiValuesAre31Bits() && \ |
+ (Type::type(region_)->Equals(Type::OtherSigned32()) || \ |
+ Type::type(region_)->Equals(Type::OtherUnsigned31()))) { \ |
+ /* Hack: Avoid generating those empty bitset types. */ \ |
+ continue; \ |
+ } \ |
TypeHandle tmp = Type::Intersect( \ |
result, Type::type(region_), region_); \ |
if (tmp->Is(Type::None()) && i != 0) { \ |