OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 // ICs store extra state in a Code object. The default extra state is | 302 // ICs store extra state in a Code object. The default extra state is |
303 // kNoExtraICState. | 303 // kNoExtraICState. |
304 typedef int ExtraICState; | 304 typedef int ExtraICState; |
305 static const ExtraICState kNoExtraICState = 0; | 305 static const ExtraICState kNoExtraICState = 0; |
306 | 306 |
307 // Instance size sentinel for objects of variable size. | 307 // Instance size sentinel for objects of variable size. |
308 const int kVariableSizeSentinel = 0; | 308 const int kVariableSizeSentinel = 0; |
309 | 309 |
310 // We may store the unsigned bit field as signed Smi value and do not | 310 // We may store the unsigned bit field as signed Smi value and do not |
311 // use the sign bit. | 311 // use the sign bit. |
312 const int kStubMajorKeyBits = 7; | 312 const int kStubMajorKeyBits = 8; |
313 const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1; | 313 const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1; |
314 | 314 |
315 // All Maps have a field instance_type containing a InstanceType. | 315 // All Maps have a field instance_type containing a InstanceType. |
316 // It describes the type of the instances. | 316 // It describes the type of the instances. |
317 // | 317 // |
318 // As an example, a JavaScript object is a heap object and its map | 318 // As an example, a JavaScript object is a heap object and its map |
319 // instance_type is JS_OBJECT_TYPE. | 319 // instance_type is JS_OBJECT_TYPE. |
320 // | 320 // |
321 // The names of the string instance types are intended to systematically | 321 // The names of the string instance types are intended to systematically |
322 // mirror their encoding in the instance_type field of the map. The default | 322 // mirror their encoding in the instance_type field of the map. The default |
(...skipping 10457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10780 } | 10780 } |
10781 return value; | 10781 return value; |
10782 } | 10782 } |
10783 }; | 10783 }; |
10784 | 10784 |
10785 | 10785 |
10786 } // NOLINT, false-positive due to second-order macros. | 10786 } // NOLINT, false-positive due to second-order macros. |
10787 } // NOLINT, false-positive due to second-order macros. | 10787 } // NOLINT, false-positive due to second-order macros. |
10788 | 10788 |
10789 #endif // V8_OBJECTS_H_ | 10789 #endif // V8_OBJECTS_H_ |
OLD | NEW |