Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb7f341491b77d31200bd7d273d7a89ae17a52fc
      
https://github.com/WebKit/WebKit/commit/cb7f341491b77d31200bd7d273d7a89ae17a52fc
  Author: Yusuke Suzuki <[email protected]>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    A JSTests/wasm/stress/i31ref-wrong-size.js
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp

  Log Message:
  -----------
  OOB in JSC::StackVisitor::readFrame in webkit
https://bugs.webkit.org/show_bug.cgi?id=278650
rdar://134700145

Reviewed by Keith Miller.

1. i31ref is actually JSValue. So it must be 8 bytes.
2. WasmBBQJIT is generating I64 for the result of I31GetU / I31GetS, that's 
wrong. It should be I32.

* JSTests/wasm/stress/i31ref-wrong-size.js: Added.
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::toB3Type):
* Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::sizeOfType):
(JSC::Wasm::BBQJITImpl::BBQJIT::setGlobal):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetS):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetU):
* Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp:
(JSC::Wasm::BBQJITImpl::BBQJIT::sizeOfType):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetS):
(JSC::Wasm::BBQJITImpl::BBQJIT::addI31GetU):
(JSC::Wasm::BBQJITImpl::BBQJIT::addStructNew):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitStore):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitMoveMemory):
(JSC::Wasm::BBQJITImpl::BBQJIT::emitLoad):

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