-
antti@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52622 Reviewed by Oliver Hunt. Use cache to save function offsets and some other info. This avoids quite a bit of work when reparsing the source. Source/JavaScriptCore: * parser/ASTBuilder.h: * parser/JSParser.cpp: (JSC::JSParser::CachedFunctionInfo::CachedFunctionInfo): (JSC::JSParser::CachedFunctionInfo::approximateByteSize): (JSC::JSParser::CachedFunctionInfo::closeBraceToken): (JSC::JSParser::Scope::copyCapturedVariablesToVector): (JSC::JSParser::Scope::saveFunctionInfo): (JSC::JSParser::Scope::restoreFunctionInfo): (JSC::JSParser::findCachedFunctionInfo): (JSC::JSParser::JSParser): (JSC::JSParser::parseProgram): (JSC::JSParser::parseFunctionInfo): * parser/Lexer.h: (JSC::Lexer::setOffset): (JSC::Lexer::setLineNumber): (JSC::Lexer::sourceProvider): * parser/SourceProvider.h: (JSC::SourceProviderCache::SourceProviderCache): (JSC::SourceProviderCache::~SourceProviderCache): (JSC::SourceProviderCache::byteSize): (JSC::SourceProviderCache::add): (JSC::SourceProviderCache::get): (JSC::SourceProvider::SourceProvider): (JSC::SourceProvider::~SourceProvider): (JSC::SourceProvider::cache): (JSC::SourceProvider::notifyCacheSizeChanged): (JSC::SourceProvider::cacheSizeChanged): * parser/SyntaxChecker.h: Source/WebCore: * bindings/js/CachedScriptSourceProvider.h: (WebCore::CachedScriptSourceProvider::cache): (WebCore::CachedScriptSourceProvider::cacheSizeChanged): (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): * bindings/js/ScriptSourceProvider.h: (WebCore::ScriptSourceProvider::ScriptSourceProvider): * loader/cache/CachedScript.cpp: (WebCore::CachedScript::destroyDecodedData): (WebCore::CachedScript::sourceProviderCache): (WebCore::CachedScript::sourceProviderCacheSizeChanged): * loader/cache/CachedScript.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
40e8c6f8