Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 2c6e91b11057e1d06a29f7a1b2e871395b9750e9..f43210c7f62bf1c539d3ff8dcac95990ac4ff67e 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -868,10 +868,11 @@ template <class C> inline bool Is(Object* obj); |
#define DECLARE_PRINTER(Name) |
#endif |
- |
#define OBJECT_TYPE_LIST(V) \ |
V(Smi) \ |
+ V(LayoutDescriptor) \ |
V(HeapObject) \ |
+ V(Primitive) \ |
V(Number) |
#define HEAP_OBJECT_TYPE_LIST(V) \ |
@@ -920,7 +921,6 @@ template <class C> inline bool Is(Object* obj); |
V(JSContextExtensionObject) \ |
V(JSGeneratorObject) \ |
V(JSModule) \ |
- V(LayoutDescriptor) \ |
V(Map) \ |
V(DescriptorArray) \ |
V(TransitionArray) \ |
@@ -973,11 +973,18 @@ template <class C> inline bool Is(Object* obj); |
V(CodeCacheHashTable) \ |
V(PolymorphicCodeCacheHashTable) \ |
V(MapCache) \ |
- V(Primitive) \ |
V(JSGlobalObject) \ |
V(JSGlobalProxy) \ |
V(UndetectableObject) \ |
V(AccessCheckNeeded) \ |
+ V(Callable) \ |
+ V(Function) \ |
+ V(Constructor) \ |
+ V(TemplateInfo) \ |
+ V(Filler) \ |
+ V(FixedArrayBase) \ |
+ V(External) \ |
+ V(Struct) \ |
V(Cell) \ |
V(PropertyCell) \ |
V(WeakCell) \ |
@@ -985,6 +992,16 @@ template <class C> inline bool Is(Object* obj); |
V(WeakHashTable) \ |
V(OrderedHashTable) |
+#define ODDBALL_LIST(V) \ |
+ V(Undefined) \ |
+ V(Null) \ |
+ V(TheHole) \ |
+ V(Exception) \ |
+ V(Uninitialized) \ |
+ V(True) \ |
+ V(False) \ |
+ V(ArgumentsMarker) |
+ |
// The element types selection for CreateListFromArrayLike. |
enum class ElementTypes { kAll, kStringAndSymbol }; |
@@ -1002,6 +1019,7 @@ class Object { |
#define IS_TYPE_FUNCTION_DECL(type_) INLINE(bool Is##type_() const); |
OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) |
HEAP_OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) |
+ ODDBALL_LIST(IS_TYPE_FUNCTION_DECL) |
#undef IS_TYPE_FUNCTION_DECL |
// A non-keyed store is of the form a.x = foo or a["x"] = foo whereas |
@@ -1030,10 +1048,6 @@ class Object { |
#define MAYBE_RETURN_NULL(call) MAYBE_RETURN(call, MaybeHandle<Object>()) |
- INLINE(bool IsFixedArrayBase() const); |
- INLINE(bool IsExternal() const); |
- |
- INLINE(bool IsStruct() const); |
#define DECLARE_STRUCT_PREDICATE(NAME, Name, name) \ |
INLINE(bool Is##Name() const); |
STRUCT_LIST(DECLARE_STRUCT_PREDICATE) |
@@ -1042,16 +1056,6 @@ class Object { |
// ES6, section 7.2.2 IsArray. NOT to be confused with %_IsArray. |
MUST_USE_RESULT static Maybe<bool> IsArray(Handle<Object> object); |
- // Test for JSBoundFunction or JSFunction. |
- INLINE(bool IsFunction() const); |
- |
- // ES6, section 7.2.3 IsCallable. |
- INLINE(bool IsCallable() const); |
- |
- // ES6, section 7.2.4 IsConstructor. |
- INLINE(bool IsConstructor() const); |
- |
- INLINE(bool IsTemplateInfo()) const; |
INLINE(bool IsNameDictionary() const); |
INLINE(bool IsGlobalDictionary() const); |
INLINE(bool IsSeededNumberDictionary() const); |
@@ -1060,19 +1064,6 @@ class Object { |
INLINE(bool IsOrderedHashMap() const); |
static bool IsPromise(Handle<Object> object); |
- // Oddball testing. |
- INLINE(bool IsUndefined() const); |
- INLINE(bool IsNull() const); |
- INLINE(bool IsTheHole() const); |
- INLINE(bool IsException() const); |
- INLINE(bool IsUninitialized() const); |
- INLINE(bool IsTrue() const); |
- INLINE(bool IsFalse() const); |
- INLINE(bool IsArgumentsMarker() const); |
- |
- // Filler objects (fillers and free space objects). |
- INLINE(bool IsFiller() const); |
- |
// Extract the number. |
inline double Number() const; |
INLINE(bool IsNaN() const); |
@@ -1532,6 +1523,15 @@ class HeapObject: public Object { |
// Convenience method to get current isolate. |
inline Isolate* GetIsolate() const; |
+#define IS_TYPE_FUNCTION_DECL(type_) INLINE(bool Is##type_() const); |
+ HEAP_OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) |
+ ODDBALL_LIST(IS_TYPE_FUNCTION_DECL) |
+#undef IS_TYPE_FUNCTION_DECL |
+#define DECLARE_STRUCT_PREDICATE(NAME, Name, name) \ |
+ INLINE(bool Is##Name() const); |
+ STRUCT_LIST(DECLARE_STRUCT_PREDICATE) |
+#undef DECLARE_STRUCT_PREDICATE |
+ |
// Converts an address to a HeapObject pointer. |
static inline HeapObject* FromAddress(Address address) { |
DCHECK_TAG_ALIGNED(address); |
@@ -4381,7 +4381,7 @@ class NormalizedMapCache: public FixedArray { |
DECLARE_CAST(NormalizedMapCache) |
- static inline bool IsNormalizedMapCache(const Object* obj); |
+ static inline bool IsNormalizedMapCache(const HeapObject* obj); |
DECLARE_VERIFIER(NormalizedMapCache) |
private: |
@@ -9555,7 +9555,7 @@ class Oddball: public HeapObject { |
static const byte kNotBooleanMask = ~1; |
static const byte kTheHole = 2; |
static const byte kNull = 3; |
- static const byte kArgumentMarker = 4; |
+ static const byte kArgumentsMarker = 4; |
static const byte kUndefined = 5; |
static const byte kUninitialized = 6; |
static const byte kOther = 7; |