Flush recompile jobs on last-resort GC.
R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/24145011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
b8534d6a82
commit
ad477f3fae
@ -608,6 +608,11 @@ void Heap::CollectAllAvailableGarbage(const char* gc_reason) {
|
||||
// Note: as weak callbacks can execute arbitrary code, we cannot
|
||||
// hope that eventually there will be no weak callbacks invocations.
|
||||
// Therefore stop recollecting after several attempts.
|
||||
if (FLAG_concurrent_recompilation) {
|
||||
// The optimizing compiler may be unnecessarily holding on to memory.
|
||||
DisallowHeapAllocation no_recursive_gc;
|
||||
isolate()->optimizing_compiler_thread()->Flush();
|
||||
}
|
||||
mark_compact_collector()->SetFlags(kMakeHeapIterableMask |
|
||||
kReduceMemoryFootprintMask);
|
||||
isolate_->compilation_cache()->Clear();
|
||||
|
Loading…
Reference in New Issue
Block a user