![](/style/images/good.png)
2
![](/style/images/bad.png)
[JSC] Simplify PerfLog · WebKit/WebKit@499d9e1 · GitHub
source link: https://github.com/WebKit/WebKit/commit/499d9e1e42cb4c8d2d5a70c9bf4c23863a777c60
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Commit
[JSC] Simplify PerfLog
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=269352 rdar://122939072 Reviewed by Justin Michaud. This patch simplifies PerfLog's content. 1. We should emit very simple name for each logging 2. We use LinkBuffer::Profile as a prefix (like, "FTL: function#<hash>") 3. Add option to specify the directory for JITDump. "/tmp" is the default. * Source/JavaScriptCore/assembler/LinkBuffer.cpp: (JSC::profileName): (JSC::LinkBuffer::finalizeCodeWithoutDisassemblyImpl): (JSC::LinkBuffer::logJITCodeForPerf): (JSC::LinkBuffer::finalizeCodeWithDisassemblyImpl): (JSC::LinkBuffer::dumpProfileStatistics): * Source/JavaScriptCore/assembler/LinkBuffer.h: (JSC::LinkBuffer::LinkBuffer): (JSC::LinkBuffer::finalizeCodeWithoutDisassembly): (JSC::LinkBuffer::finalizeCodeWithDisassembly): * Source/JavaScriptCore/assembler/PerfLog.cpp: (JSC::PerfLog::PerfLog): * Source/JavaScriptCore/assembler/testmasm.cpp: (JSC::compile): * Source/JavaScriptCore/b3/B3Compile.cpp: (JSC::B3::compile): * Source/JavaScriptCore/b3/air/testair.cpp: * Source/JavaScriptCore/b3/testb3_6.cpp: (testEntrySwitchSimple): (testEntrySwitchNoEntrySwitch): (testEntrySwitchWithCommonPaths): (testEntrySwitchWithCommonPathsAndNonTrivialEntrypoint): (testEntrySwitchLoop): * Source/JavaScriptCore/bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpSimpleName const): * Source/JavaScriptCore/bytecode/CodeBlock.h: * Source/JavaScriptCore/bytecode/InlineAccess.cpp: (JSC::linkCodeInline): * Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp: (JSC::getByIdSlowPathCodeGenerator): (JSC::getByIdWithThisSlowPathCodeGenerator): (JSC::getByValSlowPathCodeGenerator): (JSC::getPrivateNameSlowPathCodeGenerator): (JSC::getByValWithThisSlowPathCodeGenerator): (JSC::putByIdSlowPathCodeGenerator): (JSC::putByValSlowPathCodeGenerator): (JSC::instanceOfSlowPathCodeGenerator): (JSC::delByIdSlowPathCodeGenerator): (JSC::delByValSlowPathCodeGenerator): (JSC::categoryName): (JSC::InlineCacheCompiler::regenerate): * Source/JavaScriptCore/bytecode/Repatch.cpp: (JSC::linkPolymorphicCall): * Source/JavaScriptCore/dfg/DFGOSRExit.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/dfg/DFGThunks.cpp: (JSC::DFG::osrExitGenerationThunkGenerator): (JSC::DFG::osrEntryThunkGenerator): * Source/JavaScriptCore/ftl/FTLLazySlowPath.cpp: (JSC::FTL::LazySlowPath::generate): * Source/JavaScriptCore/ftl/FTLLink.cpp: (JSC::FTL::link): * Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * Source/JavaScriptCore/ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::slowPathCallThunkGenerator): * Source/JavaScriptCore/jit/ExecutableAllocator.cpp: (JSC::jitWriteThunkGenerator): * Source/JavaScriptCore/jit/JIT.cpp: (JSC::JIT::consistencyCheckGenerator): (JSC::JIT::compileAndLinkWithoutFinalizing): (JSC::JIT::link): * Source/JavaScriptCore/jit/JITMathIC.h: (JSC::JITMathIC::generateOutOfLine): * Source/JavaScriptCore/jit/JITOpcodes.cpp: (JSC::JIT::valueIsFalseyGenerator): (JSC::JIT::valueIsTruthyGenerator): (JSC::JIT::op_throw_handlerGenerator): (JSC::JIT::op_enter_handlerGenerator): (JSC::JIT::op_check_traps_handlerGenerator): * Source/JavaScriptCore/jit/JITPropertyAccess.cpp: (JSC::JIT::generateOpResolveScopeThunk): (JSC::JIT::slow_op_resolve_scopeGenerator): (JSC::JIT::generateOpGetFromScopeThunk): (JSC::JIT::slow_op_get_from_scopeGenerator): (JSC::JIT::slow_op_put_to_scopeGenerator): * Source/JavaScriptCore/jit/JITStubRoutine.h: * Source/JavaScriptCore/jit/SlowPathCall.cpp: (JSC::JITSlowPathCall::generateThunk): * Source/JavaScriptCore/jit/SpecializedThunkJIT.h: (JSC::SpecializedThunkJIT::finalize): * Source/JavaScriptCore/jit/ThunkGenerator.h: * Source/JavaScriptCore/jit/ThunkGenerators.cpp: (JSC::handleExceptionGenerator): (JSC::handleExceptionWithCallFrameRollbackGenerator): (JSC::popThunkStackPreservesAndHandleExceptionGenerator): (JSC::checkExceptionGenerator): (JSC::throwExceptionFromCallGenerator): (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::virtualThunkFor): (JSC::polymorphicThunkFor): (JSC::polymorphicRepatchThunk): (JSC::nativeForGenerator): (JSC::arityFixupGenerator): (JSC::unreachableGenerator): (JSC::stringGetByValGenerator): (JSC::boundFunctionCallGenerator): (JSC::remoteFunctionCallGenerator): (JSC::returnFromBaselineGenerator): * Source/JavaScriptCore/llint/LLIntThunks.cpp: (JSC::LLInt::generateThunkWithJumpTo): (JSC::LLInt::generateThunkWithJumpToPrologue): (JSC::LLInt::generateThunkWithJumpToLLIntReturnPoint): (JSC::LLInt::inPlaceInterpreterEntryThunk): (JSC::LLInt::inPlaceInterpreterEntryThunkSIMD): (JSC::LLInt::defaultCallThunk): (JSC::LLInt::getHostCallReturnValueThunk): (JSC::LLInt::createJSGateThunk): (JSC::LLInt::createWasmGateThunk): (JSC::LLInt::createTailCallGate): (JSC::LLInt::createWasmTailCallGate): (JSC::LLInt::loopOSREntryGateThunk): (JSC::LLInt::entryOSREntryGateThunk): (JSC::LLInt::wasmOSREntryGateThunk): (JSC::LLInt::exceptionHandlerGateThunk): (JSC::LLInt::returnFromLLIntGateThunk): (JSC::LLInt::tagGateThunk): (JSC::LLInt::untagGateThunk): (JSC::LLInt::jitCagePtrThunk): * Source/JavaScriptCore/runtime/OptionsList.h: * Source/JavaScriptCore/wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::work): (JSC::Wasm::BBQPlan::compileFunction): (JSC::Wasm::BBQPlan::didCompleteCompilation): * Source/JavaScriptCore/wasm/WasmBinding.cpp: (JSC::Wasm::wasmToWasm): * Source/JavaScriptCore/wasm/WasmIPIntPlan.cpp: (JSC::Wasm::IPIntPlan::didCompleteCompilation): * Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp: (JSC::Wasm::LLIntPlan::didCompleteCompilation): * Source/JavaScriptCore/wasm/WasmOMGPlan.cpp: (JSC::Wasm::OMGPlan::work): * Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp: (JSC::Wasm::OSREntryPlan::work): * Source/JavaScriptCore/wasm/WasmThunks.cpp: (JSC::Wasm::throwExceptionFromWasmThunkGenerator): (JSC::Wasm::throwStackOverflowFromWasmThunkGenerator): (JSC::Wasm::catchInWasmThunkGenerator): (JSC::Wasm::triggerOMGEntryTierUpThunkGeneratorImpl): * Source/JavaScriptCore/wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadImportTypeUse): (JSC::Wasm::wasmToJS): * Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::jsCallEntrypointSlow): * Source/JavaScriptCore/yarr/YarrJIT.cpp: * Source/WTF/wtf/text/ASCIILiteral.h: * Source/WebCore/cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::SelectorCodeGenerator::compile): Canonical link: https://commits.webkit.org/274632@main
Constellation
committed
Feb 14, 2024
1 parent
c0bc711
commit 499d9e1
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK