Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JSC] Use SlowPathFrameTracer and fix most of wasm GC operations #8561

Commits on Jan 12, 2023

  1. [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
    Constellation committed Jan 12, 2023
    Configuration menu
    Copy the full SHA
    31ae64f View commit details
    Browse the repository at this point in the history