Ignore:
Timestamp:
Nov 30, 2012, 1:09:21 PM (12 years ago)
Author:
[email protected]
Message:

Add direct string->function code cache
https://bugs.webkit.org/show_bug.cgi?id=103764

Reviewed by Michael Saboff.

A fairly logically simple patch. We now track the start of the
unique portion of a functions body, and use that as our key for
unlinked function code. This allows us to cache identical code
in different contexts, leading to a small but consistent improvement
on the benchmarks we track.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::functionStartOffset):
(UnlinkedFunctionExecutable):

  • parser/ASTBuilder.h:

(ASTBuilder):
(JSC::ASTBuilder::setFunctionStart):

  • parser/Nodes.cpp:
  • parser/Nodes.h:

(JSC::FunctionBodyNode::setFunctionStart):
(JSC::FunctionBodyNode::functionStart):
(FunctionBodyNode):

  • parser/Parser.cpp:

(JSC::::parseFunctionInfo):

  • parser/Parser.h:

(JSC::Parser::findCachedFunctionInfo):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::setFunctionStart):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::getFunctionCodeBlock):
(JSC::CodeCache::usedFunctionCode):

  • runtime/CodeCache.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
Note: See TracChangeset for help on using the changeset viewer.