| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 63a3b1b45001572f9df38caeee5c8aa90770a100..edc85dee0e5c54803432c8e8696c89cc3b2da3f5 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -731,6 +731,11 @@ struct ValueInfo : public Malloced {
|
| // A template-ized version of the IsXXX functions.
|
| template <class C> static inline bool Is(Object* obj);
|
|
|
| +#ifdef VERIFY_HEAP
|
| +#define DECLARE_VERIFIER(Name) void Name##Verify();
|
| +#else
|
| +#define DECLARE_VERIFIER(Name)
|
| +#endif
|
|
|
| class MaybeObject BASE_EMBEDDED {
|
| public:
|
| @@ -775,7 +780,7 @@ class MaybeObject BASE_EMBEDDED {
|
| void Print(FILE* out);
|
| void PrintLn(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| +#ifdef VERIFY_HEAP
|
| // Verifies the object.
|
| void Verify();
|
| #endif
|
| @@ -982,7 +987,7 @@ class Object : public MaybeObject {
|
| // < the length of the string. Used to implement [] on strings.
|
| inline bool IsStringObjectWithCharacterAt(uint32_t index);
|
|
|
| -#ifdef DEBUG
|
| +#ifdef VERIFY_HEAP
|
| // Verify a pointer is a valid object pointer.
|
| static void VerifyPointer(Object* p);
|
| #endif
|
| @@ -1037,9 +1042,8 @@ class Smi: public Object {
|
| }
|
| void SmiPrint(FILE* out);
|
| void SmiPrint(StringStream* accumulator);
|
| -#ifdef DEBUG
|
| - void SmiVerify();
|
| -#endif
|
| +
|
| + DECLARE_VERIFIER(Smi)
|
|
|
| static const int kMinValue =
|
| (static_cast<unsigned int>(-1)) << (kSmiValueSize - 1);
|
| @@ -1110,9 +1114,8 @@ class Failure: public MaybeObject {
|
| }
|
| void FailurePrint(FILE* out);
|
| void FailurePrint(StringStream* accumulator);
|
| -#ifdef DEBUG
|
| - void FailureVerify();
|
| -#endif
|
| +
|
| + DECLARE_VERIFIER(Failure)
|
|
|
| private:
|
| inline intptr_t value() const;
|
| @@ -1243,9 +1246,8 @@ class HeapObject: public Object {
|
| void HeapObjectPrint(FILE* out);
|
| void PrintHeader(FILE* out, const char* id);
|
| #endif
|
| -
|
| -#ifdef DEBUG
|
| - void HeapObjectVerify();
|
| + DECLARE_VERIFIER(HeapObject)
|
| +#ifdef VERIFY_HEAP
|
| inline void VerifyObjectField(int offset);
|
| inline void VerifySmiField(int offset);
|
|
|
| @@ -1331,9 +1333,7 @@ class HeapNumber: public HeapObject {
|
| }
|
| void HeapNumberPrint(FILE* out);
|
| void HeapNumberPrint(StringStream* accumulator);
|
| -#ifdef DEBUG
|
| - void HeapNumberVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(HeapNumber)
|
|
|
| inline int get_exponent();
|
| inline int get_sign();
|
| @@ -2078,9 +2078,7 @@ class JSObject: public JSReceiver {
|
| }
|
| void JSObjectPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSObjectVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSObject)
|
| #ifdef OBJECT_PRINT
|
| inline void PrintProperties() {
|
| PrintProperties(stdout);
|
| @@ -2362,8 +2360,8 @@ class FixedArray: public FixedArrayBase {
|
| }
|
| void FixedArrayPrint(FILE* out);
|
| #endif
|
| + DECLARE_VERIFIER(FixedArray)
|
| #ifdef DEBUG
|
| - void FixedArrayVerify();
|
| // Checks if two FixedArrays have identical contents.
|
| bool IsEqualTo(FixedArray* other);
|
| #endif
|
| @@ -2449,10 +2447,7 @@ class FixedDoubleArray: public FixedArrayBase {
|
| }
|
| void FixedDoubleArrayPrint(FILE* out);
|
| #endif
|
| -
|
| -#ifdef DEBUG
|
| - void FixedDoubleArrayVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(FixedDoubleArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(FixedDoubleArray);
|
| @@ -3387,9 +3382,7 @@ class JSFunctionResultCache: public FixedArray {
|
| // Casting
|
| static inline JSFunctionResultCache* cast(Object* obj);
|
|
|
| -#ifdef DEBUG
|
| - void JSFunctionResultCacheVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSFunctionResultCache)
|
| };
|
|
|
|
|
| @@ -3609,9 +3602,7 @@ class NormalizedMapCache: public FixedArray {
|
| // Casting
|
| static inline NormalizedMapCache* cast(Object* obj);
|
|
|
| -#ifdef DEBUG
|
| - void NormalizedMapCacheVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(NormalizedMapCache)
|
| };
|
|
|
|
|
| @@ -3660,9 +3651,7 @@ class ByteArray: public FixedArrayBase {
|
| }
|
| void ByteArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ByteArrayVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(ByteArray)
|
|
|
| // Layout description.
|
| static const int kAlignedSize = OBJECT_POINTER_ALIGN(kHeaderSize);
|
| @@ -3696,9 +3685,7 @@ class FreeSpace: public HeapObject {
|
| }
|
| void FreeSpacePrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void FreeSpaceVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(FreeSpace)
|
|
|
| // Layout description.
|
| // Size is smi tagged when it is stored.
|
| @@ -3778,9 +3765,7 @@ class ExternalPixelArray: public ExternalArray {
|
| }
|
| void ExternalPixelArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalPixelArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalPixelArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalPixelArray);
|
| @@ -3807,9 +3792,7 @@ class ExternalByteArray: public ExternalArray {
|
| }
|
| void ExternalByteArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalByteArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalByteArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalByteArray);
|
| @@ -3836,9 +3819,7 @@ class ExternalUnsignedByteArray: public ExternalArray {
|
| }
|
| void ExternalUnsignedByteArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalUnsignedByteArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalUnsignedByteArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUnsignedByteArray);
|
| @@ -3865,9 +3846,7 @@ class ExternalShortArray: public ExternalArray {
|
| }
|
| void ExternalShortArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalShortArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalShortArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalShortArray);
|
| @@ -3894,9 +3873,7 @@ class ExternalUnsignedShortArray: public ExternalArray {
|
| }
|
| void ExternalUnsignedShortArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalUnsignedShortArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalUnsignedShortArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUnsignedShortArray);
|
| @@ -3923,9 +3900,7 @@ class ExternalIntArray: public ExternalArray {
|
| }
|
| void ExternalIntArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalIntArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalIntArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalIntArray);
|
| @@ -3952,9 +3927,7 @@ class ExternalUnsignedIntArray: public ExternalArray {
|
| }
|
| void ExternalUnsignedIntArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalUnsignedIntArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalUnsignedIntArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUnsignedIntArray);
|
| @@ -3981,9 +3954,7 @@ class ExternalFloatArray: public ExternalArray {
|
| }
|
| void ExternalFloatArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ExternalFloatArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalFloatArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalFloatArray);
|
| @@ -4010,9 +3981,7 @@ class ExternalDoubleArray: public ExternalArray {
|
| }
|
| void ExternalDoubleArrayPrint(FILE* out);
|
| #endif // OBJECT_PRINT
|
| -#ifdef DEBUG
|
| - void ExternalDoubleArrayVerify();
|
| -#endif // DEBUG
|
| + DECLARE_VERIFIER(ExternalDoubleArray)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalDoubleArray);
|
| @@ -4535,9 +4504,8 @@ class Code: public HeapObject {
|
| }
|
| void CodePrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void CodeVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(Code)
|
| +
|
| void ClearInlineCaches();
|
| void ClearTypeFeedbackCells(Heap* heap);
|
|
|
| @@ -5097,14 +5065,14 @@ class Map: public HeapObject {
|
| Handle<Map> FindTransitionedMap(MapHandleList* candidates);
|
| Map* FindTransitionedMap(MapList* candidates);
|
|
|
| - // Zaps the contents of backing data structures in debug mode. Note that the
|
| + // Zaps the contents of backing data structures. Note that the
|
| // heap verifier (i.e. VerifyMarkingVisitor) relies on zapping of objects
|
| // holding weak references when incremental marking is used, because it also
|
| // iterates over objects that are otherwise unreachable.
|
| -#ifdef DEBUG
|
| + // In general we only want to call these functions in release mode when
|
| + // heap verification is turned on.
|
| void ZapPrototypeTransitions();
|
| void ZapTransitions();
|
| -#endif
|
|
|
| // Dispatched behavior.
|
| #ifdef OBJECT_PRINT
|
| @@ -5113,8 +5081,9 @@ class Map: public HeapObject {
|
| }
|
| void MapPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void MapVerify();
|
| + DECLARE_VERIFIER(Map)
|
| +
|
| +#ifdef VERIFY_HEAP
|
| void SharedMapVerify();
|
| #endif
|
|
|
| @@ -5317,9 +5286,7 @@ class Script: public Struct {
|
| }
|
| void ScriptPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ScriptVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(Script)
|
|
|
| static const int kSourceOffset = HeapObject::kHeaderSize;
|
| static const int kNameOffset = kSourceOffset + kPointerSize;
|
| @@ -5799,9 +5766,7 @@ class SharedFunctionInfo: public HeapObject {
|
| }
|
| void SharedFunctionInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void SharedFunctionInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(SharedFunctionInfo)
|
|
|
| void ResetForNewContext(int new_ic_age);
|
|
|
| @@ -6035,9 +6000,7 @@ class JSModule: public JSObject {
|
| }
|
| void JSModulePrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSModuleVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSModule)
|
|
|
| // Layout description.
|
| static const int kContextOffset = JSObject::kHeaderSize;
|
| @@ -6198,9 +6161,7 @@ class JSFunction: public JSObject {
|
| }
|
| void JSFunctionPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSFunctionVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSFunction)
|
|
|
| // Returns the number of allocated literals.
|
| inline int NumberOfLiterals();
|
| @@ -6259,9 +6220,7 @@ class JSGlobalProxy : public JSObject {
|
| }
|
| void JSGlobalProxyPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSGlobalProxyVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSGlobalProxy)
|
|
|
| // Layout description.
|
| static const int kNativeContextOffset = JSObject::kHeaderSize;
|
| @@ -6339,9 +6298,7 @@ class JSGlobalObject: public GlobalObject {
|
| }
|
| void JSGlobalObjectPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSGlobalObjectVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSGlobalObject)
|
|
|
| // Layout description.
|
| static const int kSize = GlobalObject::kHeaderSize;
|
| @@ -6373,9 +6330,7 @@ class JSBuiltinsObject: public GlobalObject {
|
| }
|
| void JSBuiltinsObjectPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSBuiltinsObjectVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSBuiltinsObject)
|
|
|
| // Layout description. The size of the builtins object includes
|
| // room for two pointers per runtime routine written in javascript
|
| @@ -6416,9 +6371,7 @@ class JSValue: public JSObject {
|
| }
|
| void JSValuePrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSValueVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSValue)
|
|
|
| // Layout description.
|
| static const int kValueOffset = JSObject::kHeaderSize;
|
| @@ -6472,9 +6425,8 @@ class JSDate: public JSObject {
|
| }
|
| void JSDatePrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSDateVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSDate)
|
| +
|
| // The order is important. It must be kept in sync with date macros
|
| // in macros.py.
|
| enum FieldIndex {
|
| @@ -6570,9 +6522,7 @@ class JSMessageObject: public JSObject {
|
| }
|
| void JSMessageObjectPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSMessageObjectVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSMessageObject)
|
|
|
| // Layout description.
|
| static const int kTypeOffset = JSObject::kHeaderSize;
|
| @@ -6661,9 +6611,7 @@ class JSRegExp: public JSObject {
|
| static inline JSRegExp* cast(Object* obj);
|
|
|
| // Dispatched behavior.
|
| -#ifdef DEBUG
|
| - void JSRegExpVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSRegExp)
|
|
|
| static const int kDataOffset = JSObject::kHeaderSize;
|
| static const int kSize = kDataOffset + kPointerSize;
|
| @@ -6819,9 +6767,7 @@ class CodeCache: public Struct {
|
| }
|
| void CodeCachePrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void CodeCacheVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(CodeCache)
|
|
|
| static const int kDefaultCacheOffset = HeapObject::kHeaderSize;
|
| static const int kNormalTypeCacheOffset =
|
| @@ -6910,9 +6856,7 @@ class PolymorphicCodeCache: public Struct {
|
| }
|
| void PolymorphicCodeCachePrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void PolymorphicCodeCacheVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(PolymorphicCodeCache)
|
|
|
| static const int kCacheOffset = HeapObject::kHeaderSize;
|
| static const int kSize = kCacheOffset + kPointerSize;
|
| @@ -6965,9 +6909,7 @@ class TypeFeedbackInfo: public Struct {
|
| }
|
| void TypeFeedbackInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void TypeFeedbackInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(TypeFeedbackInfo)
|
|
|
| static const int kStorage1Offset = HeapObject::kHeaderSize;
|
| static const int kStorage2Offset = kStorage1Offset + kPointerSize;
|
| @@ -7013,9 +6955,7 @@ class AliasedArgumentsEntry: public Struct {
|
| }
|
| void AliasedArgumentsEntryPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void AliasedArgumentsEntryVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(AliasedArgumentsEntry)
|
|
|
| static const int kAliasedContextSlot = HeapObject::kHeaderSize;
|
| static const int kSize = kAliasedContextSlot + kPointerSize;
|
| @@ -7362,9 +7302,8 @@ class String: public HeapObject {
|
|
|
| char* ToAsciiArray();
|
| #endif
|
| -#ifdef DEBUG
|
| - void StringVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(String)
|
| +
|
| inline bool IsFlat();
|
|
|
| // Layout description.
|
| @@ -7601,9 +7540,7 @@ class SeqAsciiString: public SeqString {
|
| unsigned* offset,
|
| unsigned chars);
|
|
|
| -#ifdef DEBUG
|
| - void SeqAsciiStringVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(SeqAsciiString)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(SeqAsciiString);
|
| @@ -7708,9 +7645,7 @@ class ConsString: public String {
|
| typedef FixedBodyDescriptor<kFirstOffset, kSecondOffset + kPointerSize, kSize>
|
| BodyDescriptor;
|
|
|
| -#ifdef DEBUG
|
| - void ConsStringVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(ConsString)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(ConsString);
|
| @@ -7762,9 +7697,7 @@ class SlicedString: public String {
|
| kOffsetOffset + kPointerSize, kSize>
|
| BodyDescriptor;
|
|
|
| -#ifdef DEBUG
|
| - void SlicedStringVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(SlicedString)
|
|
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(SlicedString);
|
| @@ -7991,9 +7924,7 @@ class Oddball: public HeapObject {
|
| static inline Oddball* cast(Object* obj);
|
|
|
| // Dispatched behavior.
|
| -#ifdef DEBUG
|
| - void OddballVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(Oddball)
|
|
|
| // Initialize the fields.
|
| MUST_USE_RESULT MaybeObject* Initialize(const char* to_string,
|
| @@ -8044,9 +7975,8 @@ class JSGlobalPropertyCell: public HeapObject {
|
| return address() + kValueOffset;
|
| }
|
|
|
| -#ifdef DEBUG
|
| - void JSGlobalPropertyCellVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSGlobalPropertyCell)
|
| +
|
| #ifdef OBJECT_PRINT
|
| inline void JSGlobalPropertyCellPrint() {
|
| JSGlobalPropertyCellPrint(stdout);
|
| @@ -8149,9 +8079,7 @@ class JSProxy: public JSReceiver {
|
| }
|
| void JSProxyPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSProxyVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSProxy)
|
|
|
| // Layout description. We add padding so that a proxy has the same
|
| // size as a virgin JSObject. This is essential for becoming a JSObject
|
| @@ -8192,9 +8120,7 @@ class JSFunctionProxy: public JSProxy {
|
| }
|
| void JSFunctionProxyPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSFunctionProxyVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSFunctionProxy)
|
|
|
| // Layout description.
|
| static const int kCallTrapOffset = JSProxy::kPaddingOffset;
|
| @@ -8229,9 +8155,7 @@ class JSSet: public JSObject {
|
| }
|
| void JSSetPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSSetVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSSet)
|
|
|
| static const int kTableOffset = JSObject::kHeaderSize;
|
| static const int kSize = kTableOffset + kPointerSize;
|
| @@ -8256,9 +8180,7 @@ class JSMap: public JSObject {
|
| }
|
| void JSMapPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSMapVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSMap)
|
|
|
| static const int kTableOffset = JSObject::kHeaderSize;
|
| static const int kSize = kTableOffset + kPointerSize;
|
| @@ -8286,9 +8208,7 @@ class JSWeakMap: public JSObject {
|
| }
|
| void JSWeakMapPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSWeakMapVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSWeakMap)
|
|
|
| static const int kTableOffset = JSObject::kHeaderSize;
|
| static const int kNextOffset = kTableOffset + kPointerSize;
|
| @@ -8323,9 +8243,7 @@ class Foreign: public HeapObject {
|
| }
|
| void ForeignPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ForeignVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(Foreign)
|
|
|
| // Layout description.
|
|
|
| @@ -8382,9 +8300,7 @@ class JSArray: public JSObject {
|
| }
|
| void JSArrayPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void JSArrayVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(JSArray)
|
|
|
| // Number of element slots to pre-allocate for an empty array.
|
| static const int kPreallocatedArrayElements = 4;
|
| @@ -8463,9 +8379,7 @@ class AccessorInfo: public Struct {
|
| }
|
| void AccessorInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void AccessorInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(AccessorInfo)
|
|
|
| static const int kGetterOffset = HeapObject::kHeaderSize;
|
| static const int kSetterOffset = kGetterOffset + kPointerSize;
|
| @@ -8529,9 +8443,7 @@ class AccessorPair: public Struct {
|
| #ifdef OBJECT_PRINT
|
| void AccessorPairPrint(FILE* out = stdout);
|
| #endif
|
| -#ifdef DEBUG
|
| - void AccessorPairVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(AccessorPair)
|
|
|
| static const int kGetterOffset = HeapObject::kHeaderSize;
|
| static const int kSetterOffset = kGetterOffset + kPointerSize;
|
| @@ -8565,9 +8477,7 @@ class AccessCheckInfo: public Struct {
|
| }
|
| void AccessCheckInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void AccessCheckInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(AccessCheckInfo)
|
|
|
| static const int kNamedCallbackOffset = HeapObject::kHeaderSize;
|
| static const int kIndexedCallbackOffset = kNamedCallbackOffset + kPointerSize;
|
| @@ -8596,9 +8506,7 @@ class InterceptorInfo: public Struct {
|
| }
|
| void InterceptorInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void InterceptorInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(InterceptorInfo)
|
|
|
| static const int kGetterOffset = HeapObject::kHeaderSize;
|
| static const int kSetterOffset = kGetterOffset + kPointerSize;
|
| @@ -8626,9 +8534,7 @@ class CallHandlerInfo: public Struct {
|
| }
|
| void CallHandlerInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void CallHandlerInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(CallHandlerInfo)
|
|
|
| static const int kCallbackOffset = HeapObject::kHeaderSize;
|
| static const int kDataOffset = kCallbackOffset + kPointerSize;
|
| @@ -8644,9 +8550,7 @@ class TemplateInfo: public Struct {
|
| DECL_ACCESSORS(tag, Object)
|
| DECL_ACCESSORS(property_list, Object)
|
|
|
| -#ifdef DEBUG
|
| - void TemplateInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(TemplateInfo)
|
|
|
| static const int kTagOffset = HeapObject::kHeaderSize;
|
| static const int kPropertyListOffset = kTagOffset + kPointerSize;
|
| @@ -8689,9 +8593,7 @@ class FunctionTemplateInfo: public TemplateInfo {
|
| }
|
| void FunctionTemplateInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void FunctionTemplateInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(FunctionTemplateInfo)
|
|
|
| static const int kSerialNumberOffset = TemplateInfo::kHeaderSize;
|
| static const int kCallCodeOffset = kSerialNumberOffset + kPointerSize;
|
| @@ -8738,9 +8640,7 @@ class ObjectTemplateInfo: public TemplateInfo {
|
| }
|
| void ObjectTemplateInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void ObjectTemplateInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(ObjectTemplateInfo)
|
|
|
| static const int kConstructorOffset = TemplateInfo::kHeaderSize;
|
| static const int kInternalFieldCountOffset =
|
| @@ -8762,9 +8662,7 @@ class SignatureInfo: public Struct {
|
| }
|
| void SignatureInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void SignatureInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(SignatureInfo)
|
|
|
| static const int kReceiverOffset = Struct::kHeaderSize;
|
| static const int kArgsOffset = kReceiverOffset + kPointerSize;
|
| @@ -8787,9 +8685,7 @@ class TypeSwitchInfo: public Struct {
|
| }
|
| void TypeSwitchInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void TypeSwitchInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(TypeSwitchInfo)
|
|
|
| static const int kTypesOffset = Struct::kHeaderSize;
|
| static const int kSize = kTypesOffset + kPointerSize;
|
| @@ -8839,9 +8735,7 @@ class DebugInfo: public Struct {
|
| }
|
| void DebugInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void DebugInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(DebugInfo)
|
|
|
| static const int kSharedFunctionInfoIndex = Struct::kHeaderSize;
|
| static const int kOriginalCodeIndex = kSharedFunctionInfoIndex + kPointerSize;
|
| @@ -8897,9 +8791,7 @@ class BreakPointInfo: public Struct {
|
| }
|
| void BreakPointInfoPrint(FILE* out);
|
| #endif
|
| -#ifdef DEBUG
|
| - void BreakPointInfoVerify();
|
| -#endif
|
| + DECLARE_VERIFIER(BreakPointInfo)
|
|
|
| static const int kCodePositionIndex = Struct::kHeaderSize;
|
| static const int kSourcePositionIndex = kCodePositionIndex + kPointerSize;
|
| @@ -8917,6 +8809,7 @@ class BreakPointInfo: public Struct {
|
|
|
| #undef DECL_BOOLEAN_ACCESSORS
|
| #undef DECL_ACCESSORS
|
| +#undef DECLARE_VERIFIER
|
|
|
| #define VISITOR_SYNCHRONIZATION_TAGS_LIST(V) \
|
| V(kSymbolTable, "symbol_table", "(Symbols)") \
|
|
|