| Index: src/heap.h
|
| diff --git a/src/heap.h b/src/heap.h
|
| index eea94f892dea403e7cbdd79161102acb115b7023..0570557369313d8a7b055c9ecd50af5455be8f96 100644
|
| --- a/src/heap.h
|
| +++ b/src/heap.h
|
| @@ -617,9 +617,6 @@ class Heap {
|
| return old_data_space_->allocation_limit_address();
|
| }
|
|
|
| - // Uncommit unused semi space.
|
| - bool UncommitFromSpace() { return new_space_.UncommitFromSpace(); }
|
| -
|
| // Allocates and initializes a new JavaScript object based on a
|
| // constructor.
|
| // Returns Failure::RetryAfterGC(requested_bytes, space) if the allocation
|
| @@ -881,6 +878,7 @@ class Heap {
|
| // failed.
|
| // Please note this does not perform a garbage collection.
|
| MUST_USE_RESULT MaybeObject* AllocateSymbol();
|
| + MUST_USE_RESULT MaybeObject* AllocatePrivateSymbol();
|
|
|
| // Allocate a tenured AllocationSite. It's payload is null
|
| MUST_USE_RESULT MaybeObject* AllocateAllocationSite();
|
| @@ -1174,19 +1172,6 @@ class Heap {
|
| // Converts the given boolean condition to JavaScript boolean value.
|
| inline Object* ToBoolean(bool condition);
|
|
|
| - // Code that should be run before and after each GC. Includes some
|
| - // reporting/verification activities when compiled with DEBUG set.
|
| - void GarbageCollectionPrologue();
|
| - void GarbageCollectionEpilogue();
|
| -
|
| - // Performs garbage collection operation.
|
| - // Returns whether there is a chance that another major GC could
|
| - // collect more garbage.
|
| - bool CollectGarbage(AllocationSpace space,
|
| - GarbageCollector collector,
|
| - const char* gc_reason,
|
| - const char* collector_reason);
|
| -
|
| // Performs garbage collection operation.
|
| // Returns whether there is a chance that another major GC could
|
| // collect more garbage.
|
| @@ -1428,9 +1413,6 @@ class Heap {
|
| #endif
|
| }
|
|
|
| - // Fill in bogus values in from space
|
| - void ZapFromSpace();
|
| -
|
| // Print short heap statistics.
|
| void PrintShortHeapStatistics();
|
|
|
| @@ -1474,9 +1456,6 @@ class Heap {
|
| static inline void ScavengePointer(HeapObject** p);
|
| static inline void ScavengeObject(HeapObject** p, HeapObject* object);
|
|
|
| - // Commits from space if it is uncommitted.
|
| - void EnsureFromSpaceIsCommitted();
|
| -
|
| // Support for partial snapshots. After calling this we have a linear
|
| // space to write objects in each space.
|
| void ReserveSpace(int *sizes, Address* addresses);
|
| @@ -1546,6 +1525,13 @@ class Heap {
|
| return Min(limit, halfway_to_the_max);
|
| }
|
|
|
| + // Indicates whether inline bump-pointer allocation has been disabled.
|
| + bool inline_allocation_disabled() { return inline_allocation_disabled_; }
|
| +
|
| + // Switch whether inline bump-pointer allocation should be used.
|
| + void EnableInlineAllocation();
|
| + void DisableInlineAllocation();
|
| +
|
| // Implements the corresponding V8 API function.
|
| bool IdleNotification(int hint);
|
|
|
| @@ -1992,6 +1978,10 @@ class Heap {
|
| // last GC.
|
| bool old_gen_exhausted_;
|
|
|
| + // Indicates that inline bump-pointer allocation has been globally disabled
|
| + // for all spaces. This is used to disable allocations in generated code.
|
| + bool inline_allocation_disabled_;
|
| +
|
| // Weak list heads, threaded through the objects.
|
| // List heads are initilized lazily and contain the undefined_value at start.
|
| Object* native_contexts_list_;
|
| @@ -2074,10 +2064,23 @@ class Heap {
|
| gc_safe_size_of_old_object_ = &GcSafeSizeOfOldObject;
|
| }
|
|
|
| + // Code that should be run before and after each GC. Includes some
|
| + // reporting/verification activities when compiled with DEBUG set.
|
| + void GarbageCollectionPrologue();
|
| + void GarbageCollectionEpilogue();
|
| +
|
| // Checks whether a global GC is necessary
|
| GarbageCollector SelectGarbageCollector(AllocationSpace space,
|
| const char** reason);
|
|
|
| + // Performs garbage collection operation.
|
| + // Returns whether there is a chance that another major GC could
|
| + // collect more garbage.
|
| + bool CollectGarbage(AllocationSpace space,
|
| + GarbageCollector collector,
|
| + const char* gc_reason,
|
| + const char* collector_reason);
|
| +
|
| // Performs garbage collection
|
| // Returns whether there is a chance another major GC could
|
| // collect more garbage.
|
| @@ -2123,6 +2126,7 @@ class Heap {
|
| NO_INLINE(void CreateJSConstructEntryStub());
|
|
|
| void CreateFixedStubs();
|
| + void CreateStubsRequiringBuiltins();
|
|
|
| MUST_USE_RESULT MaybeObject* CreateOddball(const char* to_string,
|
| Object* to_number,
|
| @@ -2156,6 +2160,15 @@ class Heap {
|
| // Performs a minor collection in new generation.
|
| void Scavenge();
|
|
|
| + // Commits from space if it is uncommitted.
|
| + void EnsureFromSpaceIsCommitted();
|
| +
|
| + // Uncommit unused semi space.
|
| + bool UncommitFromSpace() { return new_space_.UncommitFromSpace(); }
|
| +
|
| + // Fill in bogus values in from space
|
| + void ZapFromSpace();
|
| +
|
| static String* UpdateNewSpaceReferenceInExternalStringTableEntry(
|
| Heap* heap,
|
| Object** pointer);
|
|
|