Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 31ae64f178ab4378cd7eacf3976990fee13e0874
      
https://github.com/WebKit/WebKit/commit/31ae64f178ab4378cd7eacf3976990fee13e0874
  Author: Yusuke Suzuki <ysuz...@apple.com>
  Date:   2023-01-12 (Thu, 12 Jan 2023)

  Changed paths:
    M Source/JavaScriptCore/wasm/WasmInstance.h
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp

  Log Message:
  -----------
  [JSC] Use SlowPathFrameTracer and fix most of wasm GC operations
https://bugs.webkit.org/show_bug.cgi?id=250502
rdar://104156324

Reviewed by Mark Lam.

Use SlowPathFrameTracer to configure topCallFrame in Wasm LLInt SlowPathes.
And remove storeTopCallFrame since it is no longer used: it was originally
introduced to make VM separate from Wasm::Instance etc. while keeping the
functionality of setting a CallFrame* to VM. But now we wiped this abstraction,
so this SlowPathFrameTracer change cleans up things.

We also fix bugs of wasm GC operations where they do not set topCallFrame 
correctly.
They need to set it since they do GC allocation, which can cause ShadowChicken 
processing,
and it requires topCallFrame. This patch fixes them.

* Source/JavaScriptCore/wasm/WasmInstance.h:
(JSC::Wasm::Instance::storeTopCallFrame): Deleted.
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::slow_path_wasm_throw_exception):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to