Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b05d16f9ce83d240571c1f0d9b04c051bbbf8991
      
https://github.com/WebKit/WebKit/commit/b05d16f9ce83d240571c1f0d9b04c051bbbf8991
  Author: Shu-yu Guo <[email protected]>
  Date:   2026-04-28 (Tue, 28 Apr 2026)

  Changed paths:
    A JSTests/wasm/stress/const-expr-evaluate-error-offset.js
    M Source/JavaScriptCore/wasm/WasmConstExprGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmConstExprGenerator.h
    M Source/JavaScriptCore/wasm/WasmModuleInformation.h
    M Source/JavaScriptCore/wasm/WasmSectionParser.cpp
    M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
    M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.h

  Log Message:
  -----------
  [JSC] Save source offset for evaluating Wasm constant expressions
https://bugs.webkit.org/show_bug.cgi?id=307841
rdar://166778509

Reviewed by Mark Lam.

Constant expressions may throw exceptions during evaluation, which need the
source offset. This PR saves the source offset until evaluation time so that
errors can be thrown with the correct offset.

Test: JSTests/wasm/stress/const-expr-evaluate-error-offset.js
* JSTests/wasm/stress/const-expr-evaluate-error-offset.js: Added.
(catch):
(error.message.indexOf):
* Source/JavaScriptCore/wasm/WasmConstExprGenerator.cpp:
(JSC::Wasm::ConstExprGenerator::ConstExprGenerator):
(JSC::Wasm::evaluateExtendedConstExpr):
* Source/JavaScriptCore/wasm/WasmConstExprGenerator.h:
* Source/JavaScriptCore/wasm/WasmModuleInformation.h:
* Source/JavaScriptCore/wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseInitExpr):
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::evaluateConstantExpression):
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.h:

Originally-landed-as: 305413.298@safari-7624-branch (248a2c0ce1cb). 
rdar://173968645
Canonical link: https://commits.webkit.org/312228@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to