| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index edb7903cc24582fe4b631bb530a6bdaf232376eb..c1c664043b6ad081924eddd21c8505a1fcfa5008 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -373,6 +373,7 @@ const int kStubMinorKeyBits = kBitsPerInt - kSmiTagSize - kStubMajorKeyBits;
|
| V(PROPERTY_CELL_TYPE) \
|
| \
|
| V(HEAP_NUMBER_TYPE) \
|
| + V(MUTABLE_HEAP_NUMBER_TYPE) \
|
| V(FOREIGN_TYPE) \
|
| V(BYTE_ARRAY_TYPE) \
|
| V(FREE_SPACE_TYPE) \
|
| @@ -721,6 +722,7 @@ enum InstanceType {
|
| // "Data", objects that cannot contain non-map-word pointers to heap
|
| // objects.
|
| HEAP_NUMBER_TYPE,
|
| + MUTABLE_HEAP_NUMBER_TYPE,
|
| FOREIGN_TYPE,
|
| BYTE_ARRAY_TYPE,
|
| FREE_SPACE_TYPE,
|
| @@ -992,6 +994,7 @@ class MaybeObject BASE_EMBEDDED {
|
|
|
| #define HEAP_OBJECT_TYPE_LIST(V) \
|
| V(HeapNumber) \
|
| + V(MutableHeapNumber) \
|
| V(Name) \
|
| V(UniqueName) \
|
| V(String) \
|
| @@ -1510,7 +1513,7 @@ class Object : public MaybeObject {
|
| } else if (FLAG_track_fields && representation.IsSmi()) {
|
| return IsSmi();
|
| } else if (FLAG_track_double_fields && representation.IsDouble()) {
|
| - return IsNumber();
|
| + return IsMutableHeapNumber() || IsNumber();
|
| } else if (FLAG_track_heap_object_fields && representation.IsHeapObject()) {
|
| return IsHeapObject();
|
| }
|
| @@ -1519,6 +1522,7 @@ class Object : public MaybeObject {
|
|
|
| inline MaybeObject* AllocateNewStorageFor(Heap* heap,
|
| Representation representation);
|
| + inline MaybeObject* WrapForRead(Heap* heap, Representation representation);
|
|
|
| // Returns true if the object is of the correct type to be used as a
|
| // implementation of a JSObject's elements.
|
|
|