Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 6375) |
+++ src/objects.h (working copy) |
@@ -624,6 +624,71 @@ |
#endif |
}; |
+ |
+#define OBJECT_TYPE_LIST(V) \ |
+ V(Smi) \ |
+ V(HeapObject) \ |
+ V(Number) \ |
+ |
+#define HEAP_OBJECT_TYPE_LIST(V) \ |
+ V(HeapNumber) \ |
+ V(String) \ |
+ V(Symbol) \ |
+ V(SeqString) \ |
+ V(ExternalString) \ |
+ V(ConsString) \ |
+ V(ExternalTwoByteString) \ |
+ V(ExternalAsciiString) \ |
+ V(SeqTwoByteString) \ |
+ V(SeqAsciiString) \ |
+ \ |
+ V(PixelArray) \ |
+ V(ExternalArray) \ |
+ V(ExternalByteArray) \ |
+ V(ExternalUnsignedByteArray) \ |
+ V(ExternalShortArray) \ |
+ V(ExternalUnsignedShortArray) \ |
+ V(ExternalIntArray) \ |
+ V(ExternalUnsignedIntArray) \ |
+ V(ExternalFloatArray) \ |
+ V(ByteArray) \ |
+ V(JSObject) \ |
+ V(JSContextExtensionObject) \ |
+ V(Map) \ |
+ V(DescriptorArray) \ |
+ V(DeoptimizationInputData) \ |
+ V(DeoptimizationOutputData) \ |
+ V(FixedArray) \ |
+ V(Context) \ |
+ V(CatchContext) \ |
+ V(GlobalContext) \ |
+ V(JSFunction) \ |
+ V(Code) \ |
+ V(Oddball) \ |
+ V(SharedFunctionInfo) \ |
+ V(JSValue) \ |
+ V(StringWrapper) \ |
+ V(Proxy) \ |
+ V(Boolean) \ |
+ V(JSArray) \ |
+ V(JSRegExp) \ |
+ V(HashTable) \ |
+ V(Dictionary) \ |
+ V(SymbolTable) \ |
+ V(JSFunctionResultCache) \ |
+ V(NormalizedMapCache) \ |
+ V(CompilationCacheTable) \ |
+ V(CodeCacheHashTable) \ |
+ V(MapCache) \ |
+ V(Primitive) \ |
+ V(GlobalObject) \ |
+ V(JSGlobalObject) \ |
+ V(JSBuiltinsObject) \ |
+ V(JSGlobalProxy) \ |
+ V(UndetectableObject) \ |
+ V(AccessCheckNeeded) \ |
+ V(JSGlobalPropertyCell) \ |
+ |
// Object is the abstract superclass for all classes in the |
// object hierarchy. |
// Object does not use any virtual functions to avoid the |
@@ -633,68 +698,11 @@ |
class Object : public MaybeObject { |
public: |
// Type testing. |
- inline bool IsSmi(); |
- inline bool IsHeapObject(); |
- inline bool IsHeapNumber(); |
- inline bool IsString(); |
- inline bool IsSymbol(); |
- // See objects-inl.h for more details |
- inline bool IsSeqString(); |
- inline bool IsExternalString(); |
- inline bool IsExternalTwoByteString(); |
- inline bool IsExternalAsciiString(); |
- inline bool IsSeqTwoByteString(); |
- inline bool IsSeqAsciiString(); |
- inline bool IsConsString(); |
+#define IS_TYPE_FUNCTION_DECL(type_) inline bool Is##type_(); |
+ OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) |
+ HEAP_OBJECT_TYPE_LIST(IS_TYPE_FUNCTION_DECL) |
+#undef IS_TYPE_FUNCTION_DECL |
- inline bool IsNumber(); |
- inline bool IsByteArray(); |
- inline bool IsPixelArray(); |
- inline bool IsExternalArray(); |
- inline bool IsExternalByteArray(); |
- inline bool IsExternalUnsignedByteArray(); |
- inline bool IsExternalShortArray(); |
- inline bool IsExternalUnsignedShortArray(); |
- inline bool IsExternalIntArray(); |
- inline bool IsExternalUnsignedIntArray(); |
- inline bool IsExternalFloatArray(); |
- inline bool IsJSObject(); |
- inline bool IsJSContextExtensionObject(); |
- inline bool IsMap(); |
- inline bool IsFixedArray(); |
- inline bool IsDescriptorArray(); |
- inline bool IsDeoptimizationInputData(); |
- inline bool IsDeoptimizationOutputData(); |
- inline bool IsContext(); |
- inline bool IsCatchContext(); |
- inline bool IsGlobalContext(); |
- inline bool IsJSFunction(); |
- inline bool IsCode(); |
- inline bool IsOddball(); |
- inline bool IsSharedFunctionInfo(); |
- inline bool IsJSValue(); |
- inline bool IsStringWrapper(); |
- inline bool IsProxy(); |
- inline bool IsBoolean(); |
- inline bool IsJSArray(); |
- inline bool IsJSRegExp(); |
- inline bool IsHashTable(); |
- inline bool IsDictionary(); |
- inline bool IsSymbolTable(); |
- inline bool IsJSFunctionResultCache(); |
- inline bool IsNormalizedMapCache(); |
- inline bool IsCompilationCacheTable(); |
- inline bool IsCodeCacheHashTable(); |
- inline bool IsMapCache(); |
- inline bool IsPrimitive(); |
- inline bool IsGlobalObject(); |
- inline bool IsJSGlobalObject(); |
- inline bool IsJSBuiltinsObject(); |
- inline bool IsJSGlobalProxy(); |
- inline bool IsUndetectableObject(); |
- inline bool IsAccessCheckNeeded(); |
- inline bool IsJSGlobalPropertyCell(); |
- |
// Returns true if this object is an instance of the specified |
// function template. |
inline bool IsInstanceOf(FunctionTemplateInfo* type); |