| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 326bb24b76935abee9c0a4d8b36ec1db766bbf7c..065980a64af35a6c095922a0ad0ae977436aa86a 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -9433,6 +9433,10 @@ class VectorIterator {
|
| // The Oddball describes objects null, undefined, true, and false.
|
| class Oddball: public HeapObject {
|
| public:
|
| + // [to_number_raw]: Cached raw to_number computed at startup.
|
| + inline double to_number_raw() const;
|
| + inline void set_to_number_raw(double value);
|
| +
|
| // [to_string]: Cached to_string computed at startup.
|
| DECL_ACCESSORS(to_string, String)
|
|
|
| @@ -9462,7 +9466,8 @@ class Oddball: public HeapObject {
|
| bool to_boolean, const char* type_of, byte kind);
|
|
|
| // Layout description.
|
| - static const int kToStringOffset = HeapObject::kHeaderSize;
|
| + static const int kToNumberRawOffset = HeapObject::kHeaderSize;
|
| + static const int kToStringOffset = kToNumberRawOffset + kDoubleSize;
|
| static const int kToNumberOffset = kToStringOffset + kPointerSize;
|
| static const int kToBooleanOffset = kToNumberOffset + kPointerSize;
|
| static const int kTypeOfOffset = kToBooleanOffset + kPointerSize;
|
| @@ -9484,6 +9489,7 @@ class Oddball: public HeapObject {
|
| typedef FixedBodyDescriptor<kToStringOffset, kTypeOfOffset + kPointerSize,
|
| kSize> BodyDescriptor;
|
|
|
| + STATIC_ASSERT(kToNumberRawOffset == HeapNumber::kValueOffset);
|
| STATIC_ASSERT(kKindOffset == Internals::kOddballKindOffset);
|
| STATIC_ASSERT(kNull == Internals::kNullOddballKind);
|
| STATIC_ASSERT(kUndefined == Internals::kUndefinedOddballKind);
|
|
|