8080 { 'name' : 'SmiShiftSize' , 'value' : 'kSmiShiftSize' },
8181 { 'name' : 'PointerSizeLog2' , 'value' : 'kPointerSizeLog2' },
8282
83+ { 'name' : 'OddballFalse' , 'value' : 'Oddball::kFalse' },
84+ { 'name' : 'OddballTrue' , 'value' : 'Oddball::kTrue' },
85+ { 'name' : 'OddballTheHole' , 'value' : 'Oddball::kTheHole' },
86+ { 'name' : 'OddballNull' , 'value' : 'Oddball::kNull' },
87+ { 'name' : 'OddballArgumentMarker' , 'value' : 'Oddball::kArgumentMarker' },
88+ { 'name' : 'OddballUndefined' , 'value' : 'Oddball::kUndefined' },
89+ { 'name' : 'OddballUninitialized' , 'value' : 'Oddball::kUninitialized' },
90+ { 'name' : 'OddballOther' , 'value' : 'Oddball::kOther' },
91+ { 'name' : 'OddballException' , 'value' : 'Oddball::kException' },
92+
8393 { 'name' : 'prop_idx_first' ,
8494 'value' : 'DescriptorArray::kFirstIndex' },
8595 { 'name' : 'prop_type_field' ,
8898 'value' : 'INTERCEPTOR' },
8999 { 'name' : 'prop_type_mask' ,
90100 'value' : 'PropertyDetails::TypeField::kMask' },
101+ { 'name' : 'prop_index_mask' ,
102+ 'value' : 'PropertyDetails::FieldIndexField::kMask' },
103+ { 'name' : 'prop_index_shift' ,
104+ 'value' : 'PropertyDetails::FieldIndexField::kShift' },
91105
92106 { 'name' : 'prop_desc_key' ,
93107 'value' : 'DescriptorArray::kDescriptorKey' },
98112 { 'name' : 'prop_desc_size' ,
99113 'value' : 'DescriptorArray::kDescriptorSize' },
100114
115+ { 'name' : 'bit_field2_elements_kind_mask' ,
116+ 'value' : 'Map::kElementsKindMask' },
117+ { 'name' : 'bit_field2_elements_kind_shift' ,
118+ 'value' : 'Map::kElementsKindShift' },
119+ { 'name' : 'bit_field3_dictionary_map_shift' ,
120+ 'value' : 'Map::DictionaryMap::kShift' },
121+
122+ { 'name' : 'elements_fast_holey_elements' ,
123+ 'value' : 'FAST_HOLEY_ELEMENTS' },
124+ { 'name' : 'elements_fast_elements' ,
125+ 'value' : 'FAST_ELEMENTS' },
126+ { 'name' : 'elements_dictionary_elements' ,
127+ 'value' : 'DICTIONARY_ELEMENTS' },
128+
101129 { 'name' : 'off_fp_context' ,
102130 'value' : 'StandardFrameConstants::kContextOffset' },
103131 { 'name' : 'off_fp_constant_pool' ,
120148 'Map, instance_attributes, int, kInstanceAttributesOffset' ,
121149 'Map, inobject_properties, int, kInObjectPropertiesOffset' ,
122150 'Map, instance_size, int, kInstanceSizeOffset' ,
151+ 'Map, bit_field, char, kBitFieldOffset' ,
152+ 'Map, bit_field2, char, kBitField2Offset' ,
153+ 'Map, bit_field3, SMI, kBitField3Offset' ,
154+ 'Map, prototype, Object, kPrototypeOffset' ,
155+ 'NameDictionaryShape, prefix_size, int, kPrefixSize' ,
156+ 'NameDictionaryShape, entry_size, int, kEntrySize' ,
157+ 'SeededNumberDictionaryShape, prefix_size, int, kPrefixSize' ,
158+ 'UnseededNumberDictionaryShape, prefix_size, int, kPrefixSize' ,
159+ 'NumberDictionaryShape, entry_size, int, kEntrySize' ,
160+ 'Oddball, kind_offset, int, kKindOffset' ,
123161 'HeapNumber, value, double, kValueOffset' ,
124162 'ConsString, first, String, kFirstOffset' ,
125163 'ConsString, second, String, kSecondOffset' ,
@@ -361,7 +399,7 @@ def parse_field(call):
361399 'value' : '%s::%s' % (klass , offset )
362400 });
363401
364- assert (kind == 'SMI_ACCESSORS' );
402+ assert (kind == 'SMI_ACCESSORS' or kind == 'ACCESSORS_TO_SMI' );
365403 klass = args [0 ];
366404 field = args [1 ];
367405 offset = args [2 ];
@@ -385,7 +423,8 @@ def load_fields():
385423 # may span multiple lines and may contain nested parentheses. We also
386424 # call parse_field() to pick apart the invocation.
387425 #
388- prefixes = [ 'ACCESSORS' , 'ACCESSORS_GCSAFE' , 'SMI_ACCESSORS' ];
426+ prefixes = [ 'ACCESSORS' , 'ACCESSORS_GCSAFE' ,
427+ 'SMI_ACCESSORS' , 'ACCESSORS_TO_SMI' ];
389428 current = '' ;
390429 opens = 0 ;
391430
0 commit comments