Index: test/cctest/test-types.cc |
diff --git a/test/cctest/test-types.cc b/test/cctest/test-types.cc |
index e45a1c7da2b72a63617db35279e59c2f0d2c745b..445a9e1a7f63fcb495c4ae4a81e7a38d1d4d404f 100644 |
--- a/test/cctest/test-types.cc |
+++ b/test/cctest/test-types.cc |
@@ -176,10 +176,10 @@ class Types { |
// Testing auxiliaries (breaking the Type abstraction). |
struct ZoneRep { |
- struct Struct { int tag; int length; void* args[1]; }; |
+ typedef void* Struct; |
static bool IsStruct(Type* t, int tag) { |
- return !IsBitset(t) && AsStruct(t)->tag == tag; |
+ return !IsBitset(t) && reinterpret_cast<intptr_t>(AsStruct(t)[0]) == tag; |
} |
static bool IsBitset(Type* t) { return reinterpret_cast<intptr_t>(t) & 1; } |
static bool IsClass(Type* t) { return IsStruct(t, 0); } |
@@ -193,15 +193,17 @@ struct ZoneRep { |
return static_cast<int>(reinterpret_cast<intptr_t>(t) >> 1); |
} |
static Map* AsClass(Type* t) { |
- return *static_cast<Map**>(AsStruct(t)->args[1]); |
+ return *static_cast<Map**>(AsStruct(t)[3]); |
} |
static Object* AsConstant(Type* t) { |
- return *static_cast<Object**>(AsStruct(t)->args[1]); |
+ return *static_cast<Object**>(AsStruct(t)[3]); |
} |
static Struct* AsUnion(Type* t) { |
return AsStruct(t); |
} |
- static int Length(Struct* structured) { return structured->length; } |
+ static int Length(Struct* structured) { |
+ return static_cast<int>(reinterpret_cast<intptr_t>(structured[1])); |
+ } |
static Zone* ToRegion(Zone* zone, Isolate* isolate) { return zone; } |
}; |