-
oliver@apple.com authored
Reviewed by Geoffrey Garen. Make RegExp GC allocated https://bugs.webkit.org/show_bug.cgi?id=61490 Make RegExp GC allocated. Basically mechanical change to replace most use of [Pass]RefPtr<RegExp> with RegExp* or WriteBarrier<RegExp> where actual ownership happens. Made the RegExpCache use Strong<> references currently to avoid any changes in behaviour. * JavaScriptCore.exp: * bytecode/CodeBlock.cpp: (JSC::CodeBlock::visitAggregate): * bytecode/CodeBlock.h: (JSC::CodeBlock::addRegExp): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::addRegExp): (JSC::BytecodeGenerator::emitNewRegExp): * bytecompiler/BytecodeGenerator.h: * runtime/JSCell.h: * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::clearBuiltinStructures): (JSC::JSGlobalData::addRegExpToTrace): * runtime/JSGlobalData.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): * runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create): (JSC::RegExp::invalidateCode): * runtime/RegExp.h: (JSC::RegExp::createStructure): * runtime/RegExpCache.cpp: (JSC::RegExpCache::lookupOrCreate): (JSC::RegExpCache::create): * runtime/RegExpCache.h: * runtime/RegExpConstructor.cpp: (JSC::constructRegExp): * runtime/RegExpObject.cpp: (JSC::RegExpObject::RegExpObject): (JSC::RegExpObject::visitChildren): * runtime/RegExpObject.h: (JSC::RegExpObject::setRegExp): (JSC::RegExpObject::RegExpObjectData::RegExpObjectData): * runtime/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype): (JSC::regExpProtoFuncCompile): * runtime/RegExpPrototype.h: * runtime/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch): 2011-05-25 James Robinson <jamesr@chromium.org> Reviewed by Geoffrey Garen CachedResource overhead size calculation ignores the actual size of the URL https://bugs.webkit.org/show_bug.cgi?id=61481 CachedResource::overheadSize is used to determine the size of an entry in the memory cache to know when to evict it. When the resource is a large data: URL, for example representing image or audio data, the URL size itself can be significant. This patch uses an estimate of actual number of bytes used by the URL that is valid for ASCII urls and close for other types of strings instead of a fixed number. * loader/cache/CachedResource.cpp: (WebCore::CachedResource::overheadSize): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
5652af77