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 |