[webkit-changes] [WebKit/WebKit] 346a6a: [Wasm-GC] Implement array.new_canon_data
Tim Chevalier
noreply at github.com
Wed Mar 22 12:42:58 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 346a6a54590426e49ac55ab27e6bb55228bc23d0
https://github.com/WebKit/WebKit/commit/346a6a54590426e49ac55ab27e6bb55228bc23d0
Author: Tim Chevalier <tjc at igalia.com>
Date: 2023-03-22 (Wed, 22 Mar 2023)
Changed paths:
A JSTests/wasm/gc/array_new_data.js
M JSTests/wasm/wasm.json
M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h
M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
M Source/JavaScriptCore/wasm/WasmExceptionType.h
M Source/JavaScriptCore/wasm/WasmFormat.h
M Source/JavaScriptCore/wasm/WasmFunctionParser.h
M Source/JavaScriptCore/wasm/WasmInstance.cpp
M Source/JavaScriptCore/wasm/WasmInstance.h
M Source/JavaScriptCore/wasm/WasmLLIntBuiltin.h
M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp
M Source/JavaScriptCore/wasm/WasmOperations.cpp
M Source/JavaScriptCore/wasm/WasmOperations.h
M Source/JavaScriptCore/wasm/WasmOperationsInlines.h
M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
M Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp
M Source/JavaScriptCore/wasm/WasmTypeDefinition.h
M Source/JavaScriptCore/wasm/wasm.json
Log Message:
-----------
[Wasm-GC] Implement array.new_canon_data
https://bugs.webkit.org/show_bug.cgi?id=251329
Reviewed by Justin Michaud.
Implement the `array.new_canon_data` instruction, which creates a
new array initialized from a data segment (as specified in the GC
proposal MVP).
* JSTests/wasm/gc/array_new_data.js: Added.
(module):
(check):
(assertFails):
(testArrayNewCanonData):
(testBadDataSegment):
(testBadOffset.check):
(testBadOffset):
(testReadOutOfBounds):
(testInt32Overflow):
(testTypeErrors):
(testBadOperands):
* JSTests/wasm/wasm.json:
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
(JSC::Wasm::ExpressionType>::addArrayNew):
(JSC::Wasm::ExpressionType>::addArrayNewData):
(JSC::Wasm::ExpressionType>::addArrayGet):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addArrayNewData):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
* Source/JavaScriptCore/wasm/WasmCallingConvention.h:
(JSC::Wasm::WasmCallingConvention::numberOfStackResults const):
* Source/JavaScriptCore/wasm/WasmExceptionType.h:
(JSC::Wasm::isTypeErrorExceptionType):
* Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::parseExpression):
* Source/JavaScriptCore/wasm/WasmInstance.cpp:
(JSC::Wasm::Instance::copyDataSegment):
* Source/JavaScriptCore/wasm/WasmInstance.h:
* Source/JavaScriptCore/wasm/WasmLLIntBuiltin.h:
* Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::addArrayNewData):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/wasm/WasmOperations.h:
* Source/JavaScriptCore/wasm/WasmOperationsInlines.h:
(JSC::Wasm::createArrayFromDataSegment):
(JSC::Wasm::arrayNewData):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
* Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp:
(JSC::Wasm::TypeInformation::signatureForLLIntBuiltin):
(JSC::Wasm::TypeInformation::TypeInformation):
* Source/JavaScriptCore/wasm/WasmTypeDefinition.h:
* Source/JavaScriptCore/wasm/wasm.json:
Canonical link: https://commits.webkit.org/261983@main
More information about the webkit-changes
mailing list