/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/v8/test/mjsunit/wasm/ref-cast-js-function.js
32 строки
1 KB
Michaël Zasso
deps: update V8 to 12.2.281.27
31 мар 2024, 16:36
Не верифицирован
31 мар 2024, 16:36
09a8440
Код
Авторство
О чём код?
// Copyright 2023 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Flags: --experimental-wasm-type-reflection d8.file.execute('test/mjsunit/wasm/wasm-module-builder.js'); (function RefCastWasmJSFunction() { const paramsTypes = [kWasmI32]; const retTypes = []; const sig = makeSig(paramsTypes, retTypes); const builder = new WasmModuleBuilder(); const sigId = builder.addType(sig); const impIndex = builder.addImport('m', 'foo', sigId); const table = builder.addTable(kWasmAnyFunc, 10).index; builder.addActiveElementSegment(table, wasmI32Const(0), [impIndex]); builder.addFunction('main', sigId) .addBody([ kExprLocalGet, 0, kExprI32Const, 0, kExprTableGet, table, kGCPrefix, kExprRefCast, sigId, kExprCallRef, sigId ]) .exportFunc(); const jsFunc = new WebAssembly.Function( { parameters: ['i32'], results: [] }, () => 12 ); const instance = builder.instantiate({ 'm': { 'foo': jsFunc } }); instance.exports.main(15); })();