Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 463c854b2ffb3329e52e2265a5d29530955ef2ba
      
https://github.com/WebKit/WebKit/commit/463c854b2ffb3329e52e2265a5d29530955ef2ba
  Author: Vassili Bykov <[email protected]>
  Date:   2025-10-20 (Mon, 20 Oct 2025)

  Changed paths:
    M Source/JavaScriptCore/interpreter/CallFrame.h
    M Source/JavaScriptCore/llint/InPlaceInterpreter64.asm

  Log Message:
  -----------
  Save SP in IPInt frames as a frame-relative value
https://bugs.webkit.org/show_bug.cgi?id=301117
rdar://163059656

Reviewed by Yusuke Suzuki, Daniel Liu, and Dan Hecht.

Before a function call, IPInt stores the current SP in the 'this' argument slot 
of
CallFrame so that it can be recovered after a series of tail calls. In JSPI, we 
need the
ability to save frame data off the stack and later reinstall and execute the 
saved frames
at a different stack address. Because the saved data includes absolute values 
of SP, we
need to maintain a list of such locations and relocate them after installing 
the frames at
a new address.

This patch changes IPInt so SP is saved as an FP-relative value and will "just 
work"
in relocated stack data.

The change is tested by the existing Wasm tests.

* Source/JavaScriptCore/interpreter/CallFrame.h:
* Source/JavaScriptCore/llint/InPlaceInterpreter64.asm:

Canonical link: https://commits.webkit.org/301855@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to