| 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 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 10414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10425 DECLARE_PRINTER(JSArray) | 10425 DECLARE_PRINTER(JSArray) |
| 10426 DECLARE_VERIFIER(JSArray) | 10426 DECLARE_VERIFIER(JSArray) |
| 10427 | 10427 |
| 10428 // Number of element slots to pre-allocate for an empty array. | 10428 // Number of element slots to pre-allocate for an empty array. |
| 10429 static const int kPreallocatedArrayElements = 4; | 10429 static const int kPreallocatedArrayElements = 4; |
| 10430 | 10430 |
| 10431 // Layout description. | 10431 // Layout description. |
| 10432 static const int kLengthOffset = JSObject::kHeaderSize; | 10432 static const int kLengthOffset = JSObject::kHeaderSize; |
| 10433 static const int kSize = kLengthOffset + kPointerSize; | 10433 static const int kSize = kLengthOffset + kPointerSize; |
| 10434 | 10434 |
| 10435 // 600 * KB is the Page::kMaxRegularHeapObjectSize defined in spaces.h which | 10435 // 300 * KB is the Page::kMaxRegularHeapObjectSize defined in spaces.h which |
| 10436 // we do not want to include in objects.h | 10436 // we do not want to include in objects.h |
| 10437 // Note that Page::kMaxRegularHeapObjectSize has to be in sync with | 10437 // Note that Page::kMaxRegularHeapObjectSize has to be in sync with |
| 10438 // kInitialMaxFastElementArray which is checked in a DCHECK in heap.cc. | 10438 // kInitialMaxFastElementArray which is checked in a DCHECK in heap.cc. |
| 10439 static const int kInitialMaxFastElementArray = | 10439 static const int kInitialMaxFastElementArray = |
| 10440 (600 * KB - FixedArray::kHeaderSize - kSize - AllocationMemento::kSize) / | 10440 (300 * KB - FixedArray::kHeaderSize - kSize - AllocationMemento::kSize) / |
| 10441 kPointerSize; | 10441 kPointerSize; |
| 10442 | 10442 |
| 10443 private: | 10443 private: |
| 10444 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArray); | 10444 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArray); |
| 10445 }; | 10445 }; |
| 10446 | 10446 |
| 10447 | 10447 |
| 10448 Handle<Object> CacheInitialJSArrayMaps(Handle<Context> native_context, | 10448 Handle<Object> CacheInitialJSArrayMaps(Handle<Context> native_context, |
| 10449 Handle<Map> initial_map); | 10449 Handle<Map> initial_map); |
| 10450 | 10450 |
| (...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11051 } | 11051 } |
| 11052 return value; | 11052 return value; |
| 11053 } | 11053 } |
| 11054 }; | 11054 }; |
| 11055 | 11055 |
| 11056 | 11056 |
| 11057 } // NOLINT, false-positive due to second-order macros. | 11057 } // NOLINT, false-positive due to second-order macros. |
| 11058 } // NOLINT, false-positive due to second-order macros. | 11058 } // NOLINT, false-positive due to second-order macros. |
| 11059 | 11059 |
| 11060 #endif // V8_OBJECTS_H_ | 11060 #endif // V8_OBJECTS_H_ |
| OLD | NEW |