Commit ad477f3f authored by yangguo@chromium.org's avatar yangguo@chromium.org

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
parent b8534d6a
...@@ -608,6 +608,11 @@ void Heap::CollectAllAvailableGarbage(const char* gc_reason) { ...@@ -608,6 +608,11 @@ void Heap::CollectAllAvailableGarbage(const char* gc_reason) {
// Note: as weak callbacks can execute arbitrary code, we cannot // Note: as weak callbacks can execute arbitrary code, we cannot
// hope that eventually there will be no weak callbacks invocations. // hope that eventually there will be no weak callbacks invocations.
// Therefore stop recollecting after several attempts. // 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 | mark_compact_collector()->SetFlags(kMakeHeapIterableMask |
kReduceMemoryFootprintMask); kReduceMemoryFootprintMask);
isolate_->compilation_cache()->Clear(); isolate_->compilation_cache()->Clear();
......
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