[webkit-changes] [WebKit/WebKit] 8304b7: [JSC] Add a tool to enable profiling of source cod...

Commit Queue noreply at github.com
Fri Mar 21 15:54:25 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8304b7526a6542e9ff8b2fb1f8d1842f891143f0
      https://github.com/WebKit/WebKit/commit/8304b7526a6542e9ff8b2fb1f8d1842f891143f0
  Author: Mark Lam <mark.lam at 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


More information about the webkit-changes mailing list