Skip to content
  • fpizlo@apple.com's avatar
    JSC profiling and debug dump code should use inferred names when possible · 1a6da216
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=104519
    
    Reviewed by Oliver Hunt.
    
    Source/JavaScriptCore: 
    
    This does as advertised: the profiler now knows the inferred name of all code blocks,
    and all uses of CodeBlock::dump() dump it along with the hash.
            
    * bytecode/CodeBlock.cpp:
    (JSC::CodeBlock::inferredName):
    (JSC::CodeBlock::dumpAssumingJITType):
    * bytecode/CodeBlock.h:
    * profiler/ProfilerBytecodes.cpp:
    (JSC::Profiler::Bytecodes::Bytecodes):
    (JSC::Profiler::Bytecodes::toJS):
    * profiler/ProfilerBytecodes.h:
    (JSC::Profiler::Bytecodes::inferredName):
    * profiler/ProfilerDatabase.cpp:
    (JSC::Profiler::Database::addBytecodes):
    (JSC::Profiler::Database::ensureBytecodesFor):
    * profiler/ProfilerDatabase.h:
    * runtime/CommonIdentifiers.h:
    
    Tools: 
    
    The format I'm using for referring to a code block is now name#hash. For example,
    v8-crypto has something called bnpSquareTo#B5QFbU. The profiler allows you to use
    either the hash, the inferred name, or the combined hash and full name when referring
    to blocks.
    
    * Scripts/display-profiler-output:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    1a6da216