Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 12254) |
+++ src/objects.h (working copy) |
@@ -4684,7 +4684,8 @@ |
class IsShared: public BitField<bool, 0, 1> {}; |
class FunctionWithPrototype: public BitField<bool, 1, 1> {}; |
- class LastAddedBits: public BitField<int, 2, 11> {}; |
+ class DictionaryMap: public BitField<bool, 2, 1> {}; |
+ class LastAddedBits: public BitField<int, 3, 11> {}; |
// Tells whether the object in the prototype property will be used |
// for instances created from this function. If the prototype |
@@ -4830,6 +4831,13 @@ |
inline void set_is_shared(bool value); |
inline bool is_shared(); |
+ // Tells whether the map is used for JSObjects in dictionary mode (ie |
+ // normalized objects, ie objects for which HasFastProperties returns false). |
+ // A map can never be used for both dictionary mode and fast mode JSObjects. |
+ // False by default and for HeapObjects that are not JSObjects. |
+ inline void set_dictionary_map(bool value); |
+ inline bool is_dictionary_map(); |
+ |
// Tells whether the instance needs security checks when accessing its |
// properties. |
inline void set_is_access_check_needed(bool access_check_needed); |
@@ -5150,6 +5158,7 @@ |
// Bit positions for bit field 3 |
static const int kIsShared = 0; |
static const int kFunctionWithPrototype = 1; |
+ static const int kDictionaryMap = 2; |
typedef FixedBodyDescriptor<kPointerFieldsBeginOffset, |
kPointerFieldsEndOffset, |