-
oliver@apple.com authored
Don't throw out compiled code repeatedly https://bugs.webkit.org/show_bug.cgi?id=63960 Reviewed by Gavin Barraclough. Stop throwing away all compiled code every time we're told to do a full GC. Instead unlink all callsites during such GC passes to maximise the number of collectable functions, but otherwise leave compiled functions alone. * API/JSBase.cpp: (JSGarbageCollect): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::visitAggregate): * heap/Heap.cpp: (JSC::Heap::collectAllGarbage): * heap/MarkStack.h: (JSC::MarkStack::shouldUnlinkCalls): (JSC::MarkStack::setShouldUnlinkCalls): * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::recompileAllJSFunctions): (JSC::JSGlobalData::releaseExecutableMemory): * runtime/RegExp.cpp: (JSC::RegExp::compile): (JSC::RegExp::invalidateCode): * runtime/RegExp.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@90415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
9edc15f2