-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=104102 Reviewed by Oliver Hunt. Source/JavaScriptCore: This removes op_call_put_result from profiling, since profiling it has an effect on codegen. This fix enables all of SunSpider, V8, and Kraken to be profiled with the new profiler. To make this all fit together, the profiler now also reports in its output the exact bytecode opcode name for each instruction (in addition to the stringified dump of that bytecode), so that tools that grok the output can take note of op_call_put_result and work around the fact that it has no counts. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGDriver.cpp: (JSC::DFG::compile): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS): * profiler/ProfilerBytecode.h: (JSC::Profiler::Bytecode::Bytecode): (JSC::Profiler::Bytecode::opcodeID): (Bytecode): * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::ensureBytecodesFor): * runtime/CommonIdentifiers.h: Tools: Modify the profiler to not output counts for op_call_put_result, since there won't be any. Also fix a few weird bugs, like providing better error reporting when you type something incorrectly and not reporting counts for slow paths in the old JIT since those counts are actually not what you think they are (we don't actually count slow path executions separately). * Scripts/display-profiler-output: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136720 268f45cc-cd09-0410-ab3c-d52691b4dbfc
bb1c9483