Index: src/heap.h |
diff --git a/src/heap.h b/src/heap.h |
index da10efcee587bb6a318609f7802ae5e89b576bad..70d1ccb7b3652ea968e7397ef97d70ae0d5f9e59 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_; } |
+ PropertyCellSpace* property_cell_space() { |
+ return 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 PROPERTY_CELL_SPACE: |
+ return 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_; |
+ PropertyCellSpace* 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* property_cell_space_size; // 25 |
+ intptr_t* property_cell_space_capacity; // 26 |
}; |