Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8304b7526a6542e9ff8b2fb1f8d1842f891143f0 https://github.com/WebKit/WebKit/commit/8304b7526a6542e9ff8b2fb1f8d1842f891143f0 Author: Mark Lam <mark....@apple.com> Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths: M Source/JavaScriptCore/CMakeLists.txt M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/Sources.txt M Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp M Source/JavaScriptCore/interpreter/Interpreter.cpp M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp M Source/JavaScriptCore/runtime/JSModuleRecord.cpp A Source/JavaScriptCore/tools/SourceProfiler.cpp A Source/JavaScriptCore/tools/SourceProfiler.h Log Message: ----------- [JSC] Add a tool to enable profiling of source code that we execute. https://bugs.webkit.org/show_bug.cgi?id=290147 rdar://146258426 Reviewed by Yijia Huang. If the JSC::SourceProfiler::g_profilerHook function pointer is set, we'll call it with the source code that we will execute. The data is passed to the g_profilerHook in the form of a SourceProfiler::Payload struct. The payload is versioned to allow tools to track format changes going forward if needed. If JSC::SourceProfiler::g_profilerHook is not set, this code is a no-op. * Source/JavaScriptCore/CMakeLists.txt: * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/JavaScriptCore/Sources.txt: * Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::link): * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::eval): (JSC::Interpreter::executeProgram): * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::link): * Source/JavaScriptCore/tools/SourceProfiler.cpp: Added. (JSC::SourceProfiler::profile): * Source/JavaScriptCore/tools/SourceProfiler.h: Added. Canonical link: https://commits.webkit.org/292513@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes