| Index: src/heap.h
|
| diff --git a/src/heap.h b/src/heap.h
|
| index da10efcee587bb6a318609f7802ae5e89b576bad..a0cff39765c476a2bc7b8a00954b80e68efa0634 100644
|
| --- a/src/heap.h
|
| +++ b/src/heap.h
|
| @@ -60,6 +60,7 @@ namespace internal {
|
| V(Oddball, true_value, TrueValue) \
|
| V(Oddball, false_value, FalseValue) \
|
| V(Oddball, uninitialized_value, UninitializedValue) \
|
| + V(Map, cell_map, CellMap) \
|
| V(Map, global_property_cell_map, GlobalPropertyCellMap) \
|
| V(Map, shared_function_info_map, SharedFunctionInfoMap) \
|
| V(Map, meta_map, MetaMap) \
|
| @@ -588,6 +589,9 @@ class Heap {
|
| OldSpace* code_space() { return code_space_; }
|
| MapSpace* map_space() { return map_space_; }
|
| CellSpace* cell_space() { return cell_space_; }
|
| + JSGlobalPropertyCellSpace* js_global_property_cell_space() {
|
| + return js_global_property_cell_space_;
|
| + }
|
| LargeObjectSpace* lo_space() { return lo_space_; }
|
| PagedSpace* paged_space(int idx) {
|
| switch (idx) {
|
| @@ -599,6 +603,8 @@ class Heap {
|
| return map_space();
|
| case CELL_SPACE:
|
| return cell_space();
|
| + case JS_GLOBAL_PROPERTY_CELL_SPACE:
|
| + return js_global_property_cell_space();
|
| case CODE_SPACE:
|
| return code_space();
|
| case NEW_SPACE:
|
| @@ -933,6 +939,12 @@ class Heap {
|
| // Please note this does not perform a garbage collection.
|
| MUST_USE_RESULT MaybeObject* AllocateSymbol();
|
|
|
| + // Allocate a tenured simple cell.
|
| + // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
|
| + // failed.
|
| + // Please note this does not perform a garbage collection.
|
| + MUST_USE_RESULT MaybeObject* AllocateCell(Object* value);
|
| +
|
| // Allocate a tenured JS global property cell.
|
| // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
|
| // failed.
|
| @@ -1958,6 +1970,7 @@ class Heap {
|
| OldSpace* code_space_;
|
| MapSpace* map_space_;
|
| CellSpace* cell_space_;
|
| + JSGlobalPropertyCellSpace* js_global_property_cell_space_;
|
| LargeObjectSpace* lo_space_;
|
| HeapState gc_state_;
|
| int gc_post_processing_depth_;
|
| @@ -2114,9 +2127,12 @@ class Heap {
|
| // (since both AllocateRaw and AllocateRawMap are inlined).
|
| MUST_USE_RESULT inline MaybeObject* AllocateRawMap();
|
|
|
| - // Allocate an uninitialized object in the global property cell space.
|
| + // Allocate an uninitialized object in the simple cell space.
|
| MUST_USE_RESULT inline MaybeObject* AllocateRawCell();
|
|
|
| + // Allocate an uninitialized object in the global property cell space.
|
| + MUST_USE_RESULT inline MaybeObject* AllocateRawJSGlobalPropertyCell();
|
| +
|
| // Initializes a JSObject based on its map.
|
| void InitializeJSObjectFromMap(JSObject* obj,
|
| FixedArray* properties,
|
| @@ -2437,6 +2453,8 @@ class HeapStats {
|
| int* size_per_type; // 22
|
| int* os_error; // 23
|
| int* end_marker; // 24
|
| + intptr_t* js_global_property_cell_space_size; // 25
|
| + intptr_t* js_global_property_cell_space_capacity; // 26
|
| };
|
|
|
|
|
|
|