| Index: src/objects.h
|
| ===================================================================
|
| --- src/objects.h (revision 6095)
|
| +++ src/objects.h (working copy)
|
| @@ -607,10 +607,18 @@
|
| return reinterpret_cast<Object*>(this);
|
| }
|
|
|
| +#ifdef OBJECT_PRINT
|
| + // Prints this object with details.
|
| + inline void Print() {
|
| + Print(stdout);
|
| + };
|
| + inline void PrintLn() {
|
| + PrintLn(stdout);
|
| + }
|
| + void Print(FILE* out);
|
| + void PrintLn(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - // Prints this object with details.
|
| - void Print();
|
| - void PrintLn();
|
| // Verifies the object.
|
| void Verify();
|
| #endif
|
| @@ -762,7 +770,10 @@
|
| #endif
|
|
|
| // Prints this object without details.
|
| - void ShortPrint();
|
| + inline void ShortPrint() {
|
| + ShortPrint(stdout);
|
| + }
|
| + void ShortPrint(FILE* out);
|
|
|
| // Prints this object without details to a message accumulator.
|
| void ShortPrint(StringStream* accumulator);
|
| @@ -801,7 +812,10 @@
|
| static inline Smi* cast(Object* object);
|
|
|
| // Dispatched behavior.
|
| - void SmiPrint();
|
| + inline void SmiPrint() {
|
| + SmiPrint(stdout);
|
| + }
|
| + void SmiPrint(FILE* out);
|
| void SmiPrint(StringStream* accumulator);
|
| #ifdef DEBUG
|
| void SmiVerify();
|
| @@ -870,7 +884,10 @@
|
| static inline Failure* cast(MaybeObject* object);
|
|
|
| // Dispatched behavior.
|
| - void FailurePrint();
|
| + inline void FailurePrint() {
|
| + FailurePrint(stdout);
|
| + }
|
| + void FailurePrint(FILE* out);
|
| void FailurePrint(StringStream* accumulator);
|
| #ifdef DEBUG
|
| void FailureVerify();
|
| @@ -1040,14 +1057,23 @@
|
|
|
| // Dispatched behavior.
|
| void HeapObjectShortPrint(StringStream* accumulator);
|
| +#ifdef OBJECT_PRINT
|
| + inline void HeapObjectPrint() {
|
| + HeapObjectPrint(stdout);
|
| + }
|
| + void HeapObjectPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void HeapObjectPrint();
|
| void HeapObjectVerify();
|
| inline void VerifyObjectField(int offset);
|
| inline void VerifySmiField(int offset);
|
| +#endif
|
|
|
| - void PrintHeader(const char* id);
|
| +#ifdef OBJECT_PRINT
|
| + void PrintHeader(FILE* out, const char* id);
|
| +#endif
|
|
|
| +#ifdef DEBUG
|
| // Verify a pointer is a valid HeapObject pointer that points to object
|
| // areas in the heap.
|
| static void VerifyHeapPointer(Object* p);
|
| @@ -1130,7 +1156,10 @@
|
|
|
| // Dispatched behavior.
|
| Object* HeapNumberToBoolean();
|
| - void HeapNumberPrint();
|
| + inline void HeapNumberPrint() {
|
| + HeapNumberPrint(stdout);
|
| + }
|
| + void HeapNumberPrint(FILE* out);
|
| void HeapNumberPrint(StringStream* accumulator);
|
| #ifdef DEBUG
|
| void HeapNumberVerify();
|
| @@ -1309,7 +1338,7 @@
|
|
|
| MUST_USE_RESULT MaybeObject* DefineAccessor(String* name,
|
| bool is_getter,
|
| - JSFunction* fun,
|
| + Object* fun,
|
| PropertyAttributes attributes);
|
| Object* LookupAccessor(String* name, bool is_getter);
|
|
|
| @@ -1590,12 +1619,28 @@
|
|
|
| // Dispatched behavior.
|
| void JSObjectShortPrint(StringStream* accumulator);
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSObjectPrint() {
|
| + JSObjectPrint(stdout);
|
| + }
|
| + void JSObjectPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void JSObjectPrint();
|
| void JSObjectVerify();
|
| - void PrintProperties();
|
| - void PrintElements();
|
| +#endif
|
| +#ifdef OBJECT_PRINT
|
| + inline void PrintProperties() {
|
| + PrintProperties(stdout);
|
| + }
|
| + void PrintProperties(FILE* out);
|
|
|
| + inline void PrintElements() {
|
| + PrintElements(stdout);
|
| + }
|
| + void PrintElements(FILE* out);
|
| +#endif
|
| +
|
| +#ifdef DEBUG
|
| // Structure for collecting spill information about JSObjects.
|
| class SpillInformation {
|
| public:
|
| @@ -1630,7 +1675,7 @@
|
| static const uint32_t kMaxGap = 1024;
|
| static const int kMaxFastElementsLength = 5000;
|
| static const int kInitialMaxFastElementArray = 100000;
|
| - static const int kMaxFastProperties = 8;
|
| + static const int kMaxFastProperties = 12;
|
| static const int kMaxInstanceSize = 255 * kPointerSize;
|
| // When extending the backing storage for property values, we increase
|
| // its size by more than the 1 entry necessary, so sequentially adding fields
|
| @@ -1776,8 +1821,13 @@
|
| static const int kMaxLength = (kMaxSize - kHeaderSize) / kPointerSize;
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void FixedArrayPrint() {
|
| + FixedArrayPrint(stdout);
|
| + }
|
| + void FixedArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void FixedArrayPrint();
|
| void FixedArrayVerify();
|
| // Checks if two FixedArrays have identical contents.
|
| bool IsEqualTo(FixedArray* other);
|
| @@ -1953,10 +2003,15 @@
|
| static const int kEnumCacheBridgeCacheOffset =
|
| kEnumCacheBridgeEnumOffset + kPointerSize;
|
|
|
| -#ifdef DEBUG
|
| +#ifdef OBJECT_PRINT
|
| // Print all the descriptors.
|
| - void PrintDescriptors();
|
| + inline void PrintDescriptors() {
|
| + PrintDescriptors(stdout);
|
| + }
|
| + void PrintDescriptors(FILE* out);
|
| +#endif
|
|
|
| +#ifdef DEBUG
|
| // Is the descriptor array sorted and without duplicates?
|
| bool IsSortedNoDuplicates();
|
|
|
| @@ -2337,8 +2392,11 @@
|
| // Ensure enough space for n additional elements.
|
| MUST_USE_RESULT MaybeObject* EnsureCapacity(int n, Key key);
|
|
|
| -#ifdef DEBUG
|
| - void Print();
|
| +#ifdef OBJECT_PRINT
|
| + inline void Print() {
|
| + Print(stdout);
|
| + }
|
| + void Print(FILE* out);
|
| #endif
|
| // Returns the key (slow).
|
| Object* SlowReverseLookup(Object* value);
|
| @@ -2560,8 +2618,13 @@
|
| inline int ByteArraySize() {
|
| return SizeFor(this->length());
|
| }
|
| +#ifdef OBJECT_PRINT
|
| + inline void ByteArrayPrint() {
|
| + ByteArrayPrint(stdout);
|
| + }
|
| + void ByteArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ByteArrayPrint();
|
| void ByteArrayVerify();
|
| #endif
|
|
|
| @@ -2610,8 +2673,13 @@
|
| // Casting.
|
| static inline PixelArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void PixelArrayPrint() {
|
| + PixelArrayPrint(stdout);
|
| + }
|
| + void PixelArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void PixelArrayPrint();
|
| void PixelArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2682,8 +2750,13 @@
|
| // Casting.
|
| static inline ExternalByteArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ExternalByteArrayPrint() {
|
| + ExternalByteArrayPrint(stdout);
|
| + }
|
| + void ExternalByteArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ExternalByteArrayPrint();
|
| void ExternalByteArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2705,8 +2778,13 @@
|
| // Casting.
|
| static inline ExternalUnsignedByteArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ExternalUnsignedByteArrayPrint() {
|
| + ExternalUnsignedByteArrayPrint(stdout);
|
| + }
|
| + void ExternalUnsignedByteArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ExternalUnsignedByteArrayPrint();
|
| void ExternalUnsignedByteArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2728,8 +2806,13 @@
|
| // Casting.
|
| static inline ExternalShortArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ExternalShortArrayPrint() {
|
| + ExternalShortArrayPrint(stdout);
|
| + }
|
| + void ExternalShortArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ExternalShortArrayPrint();
|
| void ExternalShortArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2751,8 +2834,13 @@
|
| // Casting.
|
| static inline ExternalUnsignedShortArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ExternalUnsignedShortArrayPrint() {
|
| + ExternalUnsignedShortArrayPrint(stdout);
|
| + }
|
| + void ExternalUnsignedShortArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ExternalUnsignedShortArrayPrint();
|
| void ExternalUnsignedShortArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2774,8 +2862,13 @@
|
| // Casting.
|
| static inline ExternalIntArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ExternalIntArrayPrint() {
|
| + ExternalIntArrayPrint(stdout);
|
| + }
|
| + void ExternalIntArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ExternalIntArrayPrint();
|
| void ExternalIntArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2797,8 +2890,13 @@
|
| // Casting.
|
| static inline ExternalUnsignedIntArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ExternalUnsignedIntArrayPrint() {
|
| + ExternalUnsignedIntArrayPrint(stdout);
|
| + }
|
| + void ExternalUnsignedIntArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ExternalUnsignedIntArrayPrint();
|
| void ExternalUnsignedIntArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2820,8 +2918,13 @@
|
| // Casting.
|
| static inline ExternalFloatArray* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ExternalFloatArrayPrint() {
|
| + ExternalFloatArrayPrint(stdout);
|
| + }
|
| + void ExternalFloatArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ExternalFloatArrayPrint();
|
| void ExternalFloatArrayVerify();
|
| #endif // DEBUG
|
|
|
| @@ -2901,8 +3004,8 @@
|
| // Casting.
|
| static inline DeoptimizationInputData* cast(Object* obj);
|
|
|
| -#ifdef DEBUG
|
| - void DeoptimizationInputDataPrint();
|
| +#ifdef OBJECT_PRINT
|
| + void DeoptimizationInputDataPrint(FILE* out);
|
| #endif
|
|
|
| private:
|
| @@ -2940,8 +3043,8 @@
|
| // Casting.
|
| static inline DeoptimizationOutputData* cast(Object* obj);
|
|
|
| -#ifdef DEBUG
|
| - void DeoptimizationOutputDataPrint();
|
| +#ifdef OBJECT_PRINT
|
| + void DeoptimizationOutputDataPrint(FILE* out);
|
| #endif
|
| };
|
|
|
| @@ -2990,7 +3093,10 @@
|
| static const char* Kind2String(Kind kind);
|
| static const char* ICState2String(InlineCacheState state);
|
| static const char* PropertyType2String(PropertyType type);
|
| - void Disassemble(const char* name);
|
| + inline void Disassemble(const char* name) {
|
| + Disassemble(name, stdout);
|
| + }
|
| + void Disassemble(const char* name, FILE* out);
|
| #endif // ENABLE_DISASSEMBLER
|
|
|
| // [instruction_size]: Size of the native instructions
|
| @@ -3183,8 +3289,13 @@
|
|
|
| template<typename StaticVisitor>
|
| inline void CodeIterateBody();
|
| +#ifdef OBJECT_PRINT
|
| + inline void CodePrint() {
|
| + CodePrint(stdout);
|
| + }
|
| + void CodePrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void CodePrint();
|
| void CodeVerify();
|
| #endif
|
|
|
| @@ -3472,8 +3583,13 @@
|
| void ClearNonLiveTransitions(Object* real_prototype);
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void MapPrint() {
|
| + MapPrint(stdout);
|
| + }
|
| + void MapPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void MapPrint();
|
| void MapVerify();
|
| void SharedMapVerify();
|
| #endif
|
| @@ -3629,8 +3745,13 @@
|
| // resource is accessible. Otherwise, always return true.
|
| inline bool HasValidSource();
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ScriptPrint() {
|
| + ScriptPrint(stdout);
|
| + }
|
| + void ScriptPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ScriptPrint();
|
| void ScriptVerify();
|
| #endif
|
|
|
| @@ -3655,24 +3776,49 @@
|
| };
|
|
|
|
|
| -enum MathFunctionId {
|
| - kNotSpecialMathFunction = 0,
|
| - // These numbers must be kept in sync with the ones in math.js.
|
| - kMathFloor = 1,
|
| - kMathRound = 2,
|
| - kMathCeil = 3,
|
| - kMathAbs = 4,
|
| - kMathLog = 5,
|
| - kMathSin = 6,
|
| - kMathCos = 7,
|
| - kMathTan = 8,
|
| - kMathASin = 9,
|
| - kMathACos = 0xa,
|
| - kMathATan = 0xb,
|
| - kMathExp = 0xc,
|
| - kMathSqrt = 0xd,
|
| - kMathPow = 0xe,
|
| - kMathPowHalf = 0xf
|
| +// List of builtin functions we want to identify to improve code
|
| +// generation.
|
| +//
|
| +// Each entry has a name of a global object property holding an object
|
| +// optionally followed by ".prototype", a name of a builtin function
|
| +// on the object (the one the id is set for), and a label.
|
| +//
|
| +// Installation of ids for the selected builtin functions is handled
|
| +// by the bootstrapper.
|
| +//
|
| +// NOTE: Order is important: math functions should be at the end of
|
| +// the list and MathFloor should be the first math function.
|
| +#define FUNCTIONS_WITH_ID_LIST(V) \
|
| + V(Array.prototype, push, ArrayPush) \
|
| + V(Array.prototype, pop, ArrayPop) \
|
| + V(String.prototype, charCodeAt, StringCharCodeAt) \
|
| + V(String.prototype, charAt, StringCharAt) \
|
| + V(String, fromCharCode, StringFromCharCode) \
|
| + V(Math, floor, MathFloor) \
|
| + V(Math, round, MathRound) \
|
| + V(Math, ceil, MathCeil) \
|
| + V(Math, abs, MathAbs) \
|
| + V(Math, log, MathLog) \
|
| + V(Math, sin, MathSin) \
|
| + V(Math, cos, MathCos) \
|
| + V(Math, tan, MathTan) \
|
| + V(Math, asin, MathASin) \
|
| + V(Math, acos, MathACos) \
|
| + V(Math, atan, MathATan) \
|
| + V(Math, exp, MathExp) \
|
| + V(Math, sqrt, MathSqrt) \
|
| + V(Math, pow, MathPow)
|
| +
|
| +
|
| +enum BuiltinFunctionId {
|
| +#define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \
|
| + k##name,
|
| + FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID)
|
| +#undef DECLARE_FUNCTION_ID
|
| + // Fake id for a special case of Math.pow. Note, it continues the
|
| + // list of math functions.
|
| + kMathPowHalf,
|
| + kFirstMathFunctionId = kMathFloor
|
| };
|
|
|
|
|
| @@ -3813,7 +3959,7 @@
|
|
|
| // [function data]: This field holds some additional data for function.
|
| // Currently it either has FunctionTemplateInfo to make benefit the API
|
| - // or Smi identifying a custom call generator.
|
| + // or Smi identifying a builtin function.
|
| // In the long run we don't want all functions to have this field but
|
| // we can fix that when we have a better model for storing hidden data
|
| // on objects.
|
| @@ -3821,8 +3967,9 @@
|
|
|
| inline bool IsApiFunction();
|
| inline FunctionTemplateInfo* get_api_func_data();
|
| - inline bool HasCustomCallGenerator();
|
| - inline int custom_call_generator_id();
|
| + inline bool HasBuiltinFunctionId();
|
| + inline bool IsBuiltinMathFunction();
|
| + inline BuiltinFunctionId builtin_function_id();
|
|
|
| // [script info]: Script from which the function originates.
|
| DECL_ACCESSORS(script, Object)
|
| @@ -3967,8 +4114,13 @@
|
| // Dispatched behavior.
|
| // Set max_length to -1 for unlimited length.
|
| void SourceCodePrint(StringStream* accumulator, int max_length);
|
| +#ifdef OBJECT_PRINT
|
| + inline void SharedFunctionInfoPrint() {
|
| + SharedFunctionInfoPrint(stdout);
|
| + }
|
| + void SharedFunctionInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void SharedFunctionInfoPrint();
|
| void SharedFunctionInfoVerify();
|
| #endif
|
|
|
| @@ -4073,12 +4225,6 @@
|
|
|
| static const int kAlignedSize = POINTER_SIZE_ALIGN(kSize);
|
|
|
| - // Get/set a special tag on the functions from math.js so we can inline
|
| - // efficient versions of them in the code.
|
| - inline MathFunctionId math_function_id();
|
| - inline void set_math_function_id(int id);
|
| - static inline int max_math_id_number() { return kMathFunctionMask; }
|
| -
|
| typedef FixedBodyDescriptor<kNameOffset,
|
| kThisPropertyAssignmentsOffset + kPointerSize,
|
| kSize> BodyDescriptor;
|
| @@ -4096,12 +4242,10 @@
|
| static const int kHasOnlySimpleThisPropertyAssignments = 0;
|
| static const int kTryFullCodegen = 1;
|
| static const int kAllowLazyCompilation = 2;
|
| - static const int kMathFunctionShift = 3;
|
| - static const int kMathFunctionMask = 0x1f;
|
| - static const int kLiveObjectsMayExist = 8;
|
| - static const int kCodeAgeShift = 9;
|
| + static const int kLiveObjectsMayExist = 3;
|
| + static const int kCodeAgeShift = 4;
|
| static const int kCodeAgeMask = 0x7;
|
| - static const int kOptimizationDisabled = 12;
|
| + static const int kOptimizationDisabled = 7;
|
|
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(SharedFunctionInfo);
|
| };
|
| @@ -4208,7 +4352,10 @@
|
| DECL_ACCESSORS(next_function_link, Object)
|
|
|
| // Prints the name of the function using PrintF.
|
| - void PrintName();
|
| + inline void PrintName() {
|
| + PrintName(stdout);
|
| + }
|
| + void PrintName(FILE* out);
|
|
|
| // Casting.
|
| static inline JSFunction* cast(Object* obj);
|
| @@ -4218,8 +4365,13 @@
|
| void JSFunctionIterateBody(int object_size, ObjectVisitor* v);
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSFunctionPrint() {
|
| + JSFunctionPrint(stdout);
|
| + }
|
| + void JSFunctionPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void JSFunctionPrint();
|
| void JSFunctionVerify();
|
| #endif
|
|
|
| @@ -4268,8 +4420,13 @@
|
| static inline JSGlobalProxy* cast(Object* obj);
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSGlobalProxyPrint() {
|
| + JSGlobalProxyPrint(stdout);
|
| + }
|
| + void JSGlobalProxyPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void JSGlobalProxyPrint();
|
| void JSGlobalProxyVerify();
|
| #endif
|
|
|
| @@ -4339,8 +4496,13 @@
|
| static inline JSGlobalObject* cast(Object* obj);
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSGlobalObjectPrint() {
|
| + JSGlobalObjectPrint(stdout);
|
| + }
|
| + void JSGlobalObjectPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void JSGlobalObjectPrint();
|
| void JSGlobalObjectVerify();
|
| #endif
|
|
|
| @@ -4368,8 +4530,13 @@
|
| static inline JSBuiltinsObject* cast(Object* obj);
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSBuiltinsObjectPrint() {
|
| + JSBuiltinsObjectPrint(stdout);
|
| + }
|
| + void JSBuiltinsObjectPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void JSBuiltinsObjectPrint();
|
| void JSBuiltinsObjectVerify();
|
| #endif
|
|
|
| @@ -4406,8 +4573,13 @@
|
| static inline JSValue* cast(Object* obj);
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSValuePrint() {
|
| + JSValuePrint(stdout);
|
| + }
|
| + void JSValuePrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void JSValuePrint();
|
| void JSValueVerify();
|
| #endif
|
|
|
| @@ -4596,8 +4768,13 @@
|
|
|
| static inline CodeCache* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void CodeCachePrint() {
|
| + CodeCachePrint(stdout);
|
| + }
|
| + void CodeCachePrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void CodeCachePrint();
|
| void CodeCacheVerify();
|
| #endif
|
|
|
| @@ -4898,8 +5075,13 @@
|
|
|
| // Dispatched behavior.
|
| void StringShortPrint(StringStream* accumulator);
|
| +#ifdef OBJECT_PRINT
|
| + inline void StringPrint() {
|
| + StringPrint(stdout);
|
| + }
|
| + void StringPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void StringPrint();
|
| void StringVerify();
|
| #endif
|
| inline bool IsFlat();
|
| @@ -5454,8 +5636,13 @@
|
|
|
| #ifdef DEBUG
|
| void JSGlobalPropertyCellVerify();
|
| - void JSGlobalPropertyCellPrint();
|
| #endif
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSGlobalPropertyCellPrint() {
|
| + JSGlobalPropertyCellPrint(stdout);
|
| + }
|
| + void JSGlobalPropertyCellPrint(FILE* out);
|
| +#endif
|
|
|
| // Layout description.
|
| static const int kValueOffset = HeapObject::kHeaderSize;
|
| @@ -5489,8 +5676,13 @@
|
| template<typename StaticVisitor>
|
| inline void ProxyIterateBody();
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ProxyPrint() {
|
| + ProxyPrint(stdout);
|
| + }
|
| + void ProxyPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ProxyPrint();
|
| void ProxyVerify();
|
| #endif
|
|
|
| @@ -5539,8 +5731,13 @@
|
| inline void EnsureSize(int minimum_size_of_backing_fixed_array);
|
|
|
| // Dispatched behavior.
|
| +#ifdef OBJECT_PRINT
|
| + inline void JSArrayPrint() {
|
| + JSArrayPrint(stdout);
|
| + }
|
| + void JSArrayPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void JSArrayPrint();
|
| void JSArrayVerify();
|
| #endif
|
|
|
| @@ -5611,8 +5808,13 @@
|
|
|
| static inline AccessorInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void AccessorInfoPrint() {
|
| + AccessorInfoPrint(stdout);
|
| + }
|
| + void AccessorInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void AccessorInfoPrint();
|
| void AccessorInfoVerify();
|
| #endif
|
|
|
| @@ -5642,8 +5844,13 @@
|
|
|
| static inline AccessCheckInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void AccessCheckInfoPrint() {
|
| + AccessCheckInfoPrint(stdout);
|
| + }
|
| + void AccessCheckInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void AccessCheckInfoPrint();
|
| void AccessCheckInfoVerify();
|
| #endif
|
|
|
| @@ -5668,8 +5875,13 @@
|
|
|
| static inline InterceptorInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void InterceptorInfoPrint() {
|
| + InterceptorInfoPrint(stdout);
|
| + }
|
| + void InterceptorInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void InterceptorInfoPrint();
|
| void InterceptorInfoVerify();
|
| #endif
|
|
|
| @@ -5693,8 +5905,13 @@
|
|
|
| static inline CallHandlerInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void CallHandlerInfoPrint() {
|
| + CallHandlerInfoPrint(stdout);
|
| + }
|
| + void CallHandlerInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void CallHandlerInfoPrint();
|
| void CallHandlerInfoVerify();
|
| #endif
|
|
|
| @@ -5750,8 +5967,13 @@
|
|
|
| static inline FunctionTemplateInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void FunctionTemplateInfoPrint() {
|
| + FunctionTemplateInfoPrint(stdout);
|
| + }
|
| + void FunctionTemplateInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void FunctionTemplateInfoPrint();
|
| void FunctionTemplateInfoVerify();
|
| #endif
|
|
|
| @@ -5793,8 +6015,13 @@
|
|
|
| static inline ObjectTemplateInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void ObjectTemplateInfoPrint() {
|
| + ObjectTemplateInfoPrint(stdout);
|
| + }
|
| + void ObjectTemplateInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void ObjectTemplateInfoPrint();
|
| void ObjectTemplateInfoVerify();
|
| #endif
|
|
|
| @@ -5812,8 +6039,13 @@
|
|
|
| static inline SignatureInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void SignatureInfoPrint() {
|
| + SignatureInfoPrint(stdout);
|
| + }
|
| + void SignatureInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void SignatureInfoPrint();
|
| void SignatureInfoVerify();
|
| #endif
|
|
|
| @@ -5832,8 +6064,13 @@
|
|
|
| static inline TypeSwitchInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void TypeSwitchInfoPrint() {
|
| + TypeSwitchInfoPrint(stdout);
|
| + }
|
| + void TypeSwitchInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void TypeSwitchInfoPrint();
|
| void TypeSwitchInfoVerify();
|
| #endif
|
|
|
| @@ -5879,8 +6116,13 @@
|
|
|
| static inline DebugInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void DebugInfoPrint() {
|
| + DebugInfoPrint(stdout);
|
| + }
|
| + void DebugInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void DebugInfoPrint();
|
| void DebugInfoVerify();
|
| #endif
|
|
|
| @@ -5932,8 +6174,13 @@
|
|
|
| static inline BreakPointInfo* cast(Object* obj);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + inline void BreakPointInfoPrint() {
|
| + BreakPointInfoPrint(stdout);
|
| + }
|
| + void BreakPointInfoPrint(FILE* out);
|
| +#endif
|
| #ifdef DEBUG
|
| - void BreakPointInfoPrint();
|
| void BreakPointInfoVerify();
|
| #endif
|
|
|
|
|