Commit 19034479 authored by hpayer's avatar hpayer Committed by Commit bot

Reset old generation limit on main frame context disposal.

BUG=

Review URL: https://codereview.chromium.org/815933005

Cr-Commit-Position: refs/heads/master@{#25930}
parent d98d97ee
...@@ -587,5 +587,8 @@ double GCTracer::AverageSurvivalRate() const { ...@@ -587,5 +587,8 @@ double GCTracer::AverageSurvivalRate() const {
bool GCTracer::SurvivalEventsRecorded() const { bool GCTracer::SurvivalEventsRecorded() const {
return survival_events_.size() > 0; return survival_events_.size() > 0;
} }
void GCTracer::ResetSurvivalEvents() { survival_events_.reset(); }
} }
} // namespace v8::internal } // namespace v8::internal
...@@ -71,6 +71,11 @@ class RingBuffer { ...@@ -71,6 +71,11 @@ class RingBuffer {
elements_[begin_] = element; elements_[begin_] = element;
} }
void reset() {
begin_ = 0;
end_ = 0;
}
private: private:
T elements_[MAX_SIZE + 1]; T elements_[MAX_SIZE + 1];
size_t begin_; size_t begin_;
...@@ -390,6 +395,9 @@ class GCTracer { ...@@ -390,6 +395,9 @@ class GCTracer {
// Returns true if at least one survival event was recorded. // Returns true if at least one survival event was recorded.
bool SurvivalEventsRecorded() const; bool SurvivalEventsRecorded() const;
// Discard all recorded survival events.
void ResetSurvivalEvents();
private: private:
// Print one detailed trace line in name=value format. // Print one detailed trace line in name=value format.
// TODO(ernstm): Move to Heap. // TODO(ernstm): Move to Heap.
......
...@@ -864,7 +864,10 @@ bool Heap::CollectGarbage(GarbageCollector collector, const char* gc_reason, ...@@ -864,7 +864,10 @@ bool Heap::CollectGarbage(GarbageCollector collector, const char* gc_reason,
int Heap::NotifyContextDisposed(bool dependant_context) { int Heap::NotifyContextDisposed(bool dependant_context) {
// TODO(hpayer): Reset heap shrinking if dependant_context is false. if (!dependant_context) {
tracer()->ResetSurvivalEvents();
old_generation_size_configured_ = false;
}
if (isolate()->concurrent_recompilation_enabled()) { if (isolate()->concurrent_recompilation_enabled()) {
// Flush the queued recompilation tasks. // Flush the queued recompilation tasks.
isolate()->optimizing_compiler_thread()->Flush(); isolate()->optimizing_compiler_thread()->Flush();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment