[webkit-changes] [WebKit/WebKit] fc1a72: [JSC] Make a bit defensive on jettisoning

Yusuke Suzuki noreply at github.com
Fri May 24 13:52:21 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fc1a7277fce0dbb99daa15afae137a5188c106bb
      https://github.com/WebKit/WebKit/commit/fc1a7277fce0dbb99daa15afae137a5188c106bb
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    M Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.cpp
    M Source/JavaScriptCore/runtime/ScriptExecutable.cpp
    M Source/JavaScriptCore/runtime/ScriptExecutableInlines.h

  Log Message:
  -----------
  [JSC] Make a bit defensive on jettisoning
https://bugs.webkit.org/show_bug.cgi?id=274672
rdar://126591959

Reviewed by Yijia Huang.

Speculatively making a bit defensive against jettisoning.

1. Ensure jettisoning does not add dead CodeBlocks.
2. Loop finalizeCodeBlockEdge until we ensure that edge is cleared or edge is alive.
3. Clear CallSlot for dead cells in PolymorphicCallStubRoutine (not necessary, but just for defensive change).

* Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.cpp:
(JSC::PolymorphicCallStubRoutine::visitWeakImpl):
* Source/JavaScriptCore/runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::installCode):
* Source/JavaScriptCore/runtime/ScriptExecutableInlines.h:
(JSC::ScriptExecutable::finalizeCodeBlockEdge):

Canonical link: https://commits.webkit.org/279292@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