Issue 7748 in v8: Tracking issue for WebAssembly Managed Objects / GC

38 views
Skip to first unread message

bradnel… via monorail

unread,
May 9, 2018, 12:39:01 PM5/9/18
to v8-re...@googlegroups.com
Status: Assigned
Owner: tit...@chromium.org
CC: eh...@chromium.org, bradn...@chromium.org, tit...@chromium.org
Priority: 3
Type: FeatureRequest

New issue 7748 by bradn...@chromium.org: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748

Track progress on managed objects / gc for wasm:
https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md


--
You received this message because:
1. The project was configured to send all issue notifications to this address

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

jkumme… via monorail

unread,
Mar 4, 2020, 10:42:56 AM3/4/20
to v8-re...@googlegroups.com
Updates:
Cc: -eh...@chromium.org -bradn...@chromium.org -tit...@chromium.org
Owner: jkum...@chromium.org
Status: Started

Comment #1 on issue 7748 by jkum...@chromium.org: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c1

(No comment was entered for this change.)

bugdroid via monorail

unread,
Mar 12, 2020, 1:03:56 PM3/12/20
to v8-re...@googlegroups.com

Comment #2 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c2

The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/f3b4167f8b6226b3b828417543aad99f2d58f5c5

commit f3b4167f8b6226b3b828417543aad99f2d58f5c5
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Thu Mar 12 17:03:16 2020

[wasm] Turn ValueType from an enum to a class

In preparation for adding reference types, which need an additional
parameter to indicate the referenced type.

Bug: v8:7748
Change-Id: If4023f3d9c7f42ed603b69c43356d2e8b81a0daa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2091471
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66687}

[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/codegen/machine-type.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/baseline/arm/liftoff-assembler-arm.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/baseline/arm64/liftoff-assembler-arm64.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/baseline/ia32/liftoff-assembler-ia32.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/baseline/liftoff-assembler.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/baseline/liftoff-register.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/baseline/x64/liftoff-assembler-x64.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/c-api.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/function-body-decoder.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/local-decl-encoder.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/module-decoder.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/module-instantiate.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/value-type.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-arguments.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-debug.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-js.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-module.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-objects.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-objects.tq
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/cctest/compiler/test-multiple-return.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/cctest/wasm/test-liftoff-inspection.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/cctest/wasm/test-run-wasm-64.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/cctest/wasm/test-run-wasm.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/cctest/wasm/test-wasm-breakpoints.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/cctest/wasm/wasm-run-utils.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/cctest/wasm/wasm-run-utils.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/common/wasm/wasm-module-runner.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/fuzzer/multi-return.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/fuzzer/wasm-compile.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/fuzzer/wasm-fuzzer-common.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/unittests/wasm/function-body-decoder-unittest.cc
[modify] https://crrev.com/f3b4167f8b6226b3b828417543aad99f2d58f5c5/test/unittests/wasm/wasm-compiler-unittest.cc

bugdroid via monorail

unread,
Apr 17, 2020, 11:42:45 AM4/17/20
to v8-re...@googlegroups.com

Comment #3 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c3


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/18929af9fc303478b2852df4a72424d4fb596748

commit 18929af9fc303478b2852df4a72424d4fb596748
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Fri Apr 17 15:42:05 2020

[wasm-gc] Add preliminary opcodes

These opcodes are not officially specified yet, they are defined
in the "prototype implementation spec" at https://bit.ly/3cWcm6Q.

Drive-by: drop a unit test whose entire coverage can be provided
by a compile-time check.

Bug: v8:7748
Change-Id: Icefa6dd321802c8a01c4561178b9d21eca1fbaa3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152841
Reviewed-by: Andreas Haas <ah...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67208}

[modify] https://crrev.com/18929af9fc303478b2852df4a72424d4fb596748/src/wasm/value-type.h
[modify] https://crrev.com/18929af9fc303478b2852df4a72424d4fb596748/src/wasm/wasm-constants.h
[modify] https://crrev.com/18929af9fc303478b2852df4a72424d4fb596748/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/18929af9fc303478b2852df4a72424d4fb596748/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/18929af9fc303478b2852df4a72424d4fb596748/test/unittests/BUILD.gn
[delete] https://crrev.com/acc71c78b5ba509d7beb2d61a4e7c4e0f68a3643/test/unittests/wasm/wasm-opcodes-unittest.cc

bugdroid via monorail

unread,
Apr 17, 2020, 4:33:59 PM4/17/20
to v8-re...@googlegroups.com

Comment #4 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c4


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9

commit 3cef77bc71ad0c72114920f5fbcd439fcb7adcf9
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Fri Apr 17 20:33:12 2020

[wasm-gc] Add ref,optref,eqref value types

And a new flag --experimental-wasm-gc, which doesn't do anything yet.

Bug: v8:7748
Change-Id: I927d1d90559249db3ee9f8d240775d45098e52a6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154197

Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67215}

[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/baseline/liftoff-assembler.h
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/module-decoder.cc
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/module-instantiate.cc
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/value-type.h
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/wasm-feature-flags.h
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/wasm-js.cc
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/src/wasm/wasm-objects.cc
[modify] https://crrev.com/3cef77bc71ad0c72114920f5fbcd439fcb7adcf9/test/common/wasm/wasm-module-runner.cc

bugdroid via monorail

unread,
Apr 20, 2020, 3:57:23 PM4/20/20
to v8-re...@googlegroups.com

Comment #5 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c5


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/d68a48e53e1b43e26f62f598b0b9f93121669854

commit d68a48e53e1b43e26f62f598b0b9f93121669854
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Mon Apr 20 19:54:17 2020

[wasm-gc] Decode struct types

Behind --experimental-wasm-gc flag.

Bug: v8:7748
Change-Id: Ib96af9c5bde33f1b88862286a37872dbe70d856b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154198
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67251}

[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/BUILD.gn
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/wasm/module-decoder.cc
[add] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/wasm/struct-types.h
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/wasm/wasm-constants.h
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/wasm/wasm-module.cc
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/src/wasm/wasm-module.h
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/test/cctest/wasm/wasm-run-utils.h
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/test/fuzzer/wasm-fuzzer-common.cc
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/test/unittests/wasm/function-body-decoder-unittest.cc
[modify] https://crrev.com/d68a48e53e1b43e26f62f598b0b9f93121669854/test/unittests/wasm/module-decoder-unittest.cc

bugdroid via monorail

unread,
Apr 21, 2020, 7:17:56 AM4/21/20
to v8-re...@googlegroups.com

Comment #6 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c6


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/914204f6f7c9e5be2213578320a846d350461f83

commit 914204f6f7c9e5be2213578320a846d350461f83
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Apr 21 11:16:53 2020

[wasm-gc] Add WasmStruct object definition

Unused so far.

Bug: v8:7748
Change-Id: I8ee905614227c5517fa19088f76f947d2caadc3b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152843
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67273}

[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/compiler/types.cc
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/heap/factory.cc
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/heap/factory.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/heap/objects-visiting.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/objects/map-inl.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/objects/map.cc
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/objects/map.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/objects/object-list-macros.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/wasm/wasm-objects.cc
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/wasm/wasm-objects.h
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/src/wasm/wasm-objects.tq
[modify] https://crrev.com/914204f6f7c9e5be2213578320a846d350461f83/tools/v8heapconst.py

bugdroid via monorail

unread,
Apr 21, 2020, 8:27:36 AM4/21/20
to v8-re...@googlegroups.com

Comment #7 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c7


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/8d4027d4982f554b552849e41dadd3b60831f5e1

commit 8d4027d4982f554b552849e41dadd3b60831f5e1
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Apr 21 12:26:43 2020

[wasm-gc] Parse struct.new/struct.get

The former is backed by a runtime function for now.
No Liftoff or interpreter implementation yet.

Bug: v8:7748
Change-Id: If2e1bf6e7a5267c5e64529bb5a686e548682e80a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154199
Reviewed-by: Andreas Haas <ah...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67276}

[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/compiler/wasm-compiler.h
[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/runtime/runtime.h
[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/wasm/baseline/liftoff-compiler.h
[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/8d4027d4982f554b552849e41dadd3b60831f5e1/src/wasm/graph-builder-interface.cc

bugdroid via monorail

unread,
Apr 21, 2020, 1:32:36 PM4/21/20
to v8-re...@googlegroups.com

Comment #8 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c8


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a

commit c66f220aaaed14342cd97dcdb61cc5cc1e06e64a
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Apr 21 17:32:16 2020

[wasm-gc] Add a basic test case for structs

Bug: v8:7748
Change-Id: I80265c7070dc7ec421bf53aa717a727c144b0699
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2152844
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67288}

[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/src/wasm/module-decoder.cc
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/src/wasm/wasm-module-builder.h
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/src/wasm/wasm-objects.cc
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/test/cctest/BUILD.gn
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/test/cctest/cctest.status
[add] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/c66f220aaaed14342cd97dcdb61cc5cc1e06e64a/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 5, 2020, 8:59:12 AM5/5/20
to v8-re...@googlegroups.com

Comment #9 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c9


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf

commit 1ba5766f5e2a4d066633a1e99ccad8ca17f511bf
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue May 05 12:57:42 2020

[wasm][gc] Implement struct.set and switch struct.get to optref

Work towards adding heap-allocated object support for wasm, according to
the gc proposal.

Changes:
- Implement subtyping for reference types (ref s) and (optref s),
where 's' is a struct type.
This CL does *not* implement subtyping between struct and function
types. Also, it does not handle i31refs and eqrefs.
- Implement struct.set.
- Change struct.get to accept an optref as argument, as required by the
standard.
- Allow locals to store objects of ref and optref types.
- Add a test for struct.set and optref locals. Modify the test for
struct.get accordingly.

Reference: https://github.com/WebAssembly/gc

R=jkum...@chromium.org
R=clem...@chromium.org

Bug: v8:7748
Change-Id: I708626fa5f90a6e24e667d66eed1c7697f458a23
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172089
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67562}

[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/builtins/builtins-definitions.h
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/common/globals.h
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/common/message-template.h
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/compiler/wasm-compiler.h
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/wasm/local-decl-encoder.cc
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/wasm/value-type.h
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/1ba5766f5e2a4d066633a1e99ccad8ca17f511bf/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 6, 2020, 10:32:12 AM5/6/20
to v8-re...@googlegroups.com

Comment #10 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c10


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/a3b5825244ded77c43df40994b743f8b9899848f

commit a3b5825244ded77c43df40994b743f8b9899848f
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed May 06 14:31:29 2020

[wasm][gc][refactor] Decode gc types with immediates consistently.

Motivation:
There were three versions of type decoding for wasm in the codebase.
Not all of them decoded gc types with immediates (reference types)
correctly.

Changes:
- Refactor the wasm binary decoder for unify type decoding.
- Update BranchTypeImmediate and SelectTypeImmediate to handle
reference types.

Reference: https://github.com/WebAssembly/gc

R=jkum...@chromium.org
Bug: v8:7748

Change-Id: I33b38c911d366570ca6ef2723ded5205698e1979
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2179003
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67614}

[modify] https://crrev.com/a3b5825244ded77c43df40994b743f8b9899848f/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/a3b5825244ded77c43df40994b743f8b9899848f/src/wasm/function-body-decoder.cc
[modify] https://crrev.com/a3b5825244ded77c43df40994b743f8b9899848f/src/wasm/module-decoder.cc
[modify] https://crrev.com/a3b5825244ded77c43df40994b743f8b9899848f/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/a3b5825244ded77c43df40994b743f8b9899848f/test/mjsunit/wasm/streaming-error-position.js
[modify] https://crrev.com/a3b5825244ded77c43df40994b743f8b9899848f/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
May 6, 2020, 11:54:04 AM5/6/20
to v8-re...@googlegroups.com

Comment #11 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c11


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/73a27ef150f26f84114daf4c0afb0b42d75d07fe

commit 73a27ef150f26f84114daf4c0afb0b42d75d07fe
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Wed May 06 15:52:27 2020

[wasm-gc] Create struct maps on instantiation

and avoid runtime calls for struct allocation. We can load the
map from the instance and do the allocation in a CSA builtin.

Bug: v8:7748
Change-Id: I76dfcb6c28800d69046b3d7381d3b8ba774fbf09
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2169099

Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67617}

[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/builtins/builtins-definitions.h
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/builtins/builtins-wasm-gen.cc
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/runtime/runtime.h
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/wasm/module-instantiate.cc
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/wasm/wasm-objects.cc
[modify] https://crrev.com/73a27ef150f26f84114daf4c0afb0b42d75d07fe/src/wasm/wasm-objects.h

bugdroid via monorail

unread,
May 7, 2020, 8:51:41 AM5/7/20
to v8-re...@googlegroups.com

Comment #12 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c12


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/13968f9e768b12247364174cfcae90374bc85f8e

commit 13968f9e768b12247364174cfcae90374bc85f8e
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Thu May 07 12:47:47 2020

[wasm-gc] Fix garbage collection for structs

When the garbage collector needs to get a struct's type information,
it must be prepared to deal with forwarding pointers, as those will
only get cleaned up at the end of the GC cycle.

Bug: v8:7748
Change-Id: Ifdfdffcef27d1dbe07c86a3abd17711f46c1b900
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2187732
Auto-Submit: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67648}

[modify] https://crrev.com/13968f9e768b12247364174cfcae90374bc85f8e/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/13968f9e768b12247364174cfcae90374bc85f8e/src/wasm/module-instantiate.cc
[modify] https://crrev.com/13968f9e768b12247364174cfcae90374bc85f8e/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/13968f9e768b12247364174cfcae90374bc85f8e/src/wasm/wasm-objects.h

bugdroid via monorail

unread,
May 8, 2020, 4:49:22 AM5/8/20
to v8-re...@googlegroups.com

Comment #13 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c13


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/a7f8ffe70739b2ad34d73426799de4494f3a9cf2

commit a7f8ffe70739b2ad34d73426799de4494f3a9cf2
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Fri May 08 08:48:08 2020

[wasm-gc] Implement array.new

along with WASM_ARRAY_TYPE, a WasmArray class, and a very basic
test.

Bug: v8:7748
Change-Id: I1ad4ff78e428972be52130cc179a91c76fcdbdc6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2185136
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67671}

[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/builtins/builtins-definitions.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/builtins/builtins-wasm-gen.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/compiler/types.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/compiler/wasm-compiler.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/heap/objects-visiting.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/objects/map-inl.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/objects/map.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/objects/map.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/objects/object-list-macros.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/objects/objects.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/module-instantiate.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/struct-types.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/wasm-module-builder.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/wasm-objects.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/src/wasm/wasm-objects.tq
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/a7f8ffe70739b2ad34d73426799de4494f3a9cf2/tools/v8heapconst.py

bugdroid via monorail

unread,
May 8, 2020, 8:45:06 AM5/8/20
to v8-re...@googlegroups.com

Comment #14 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c14


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/1b297d6ed1f47b68352158056c282120ba0aec93

commit 1b297d6ed1f47b68352158056c282120ba0aec93
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri May 08 12:43:39 2020

[wasm][gc] Add tests for ref types in blocks and globals.

Changes:
- Extend wasm/wasm-module-builder.cc to handle reference types.
- Add testing infrastructure to wasm-macro-gen.h for reference types.
- Add cc tests for ref types in blocks and globals.

Bug: v8:7748
Change-Id: I527252a768469e1493ecee9ecf4b4afaf8a8013b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182377
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67679}

[modify] https://crrev.com/1b297d6ed1f47b68352158056c282120ba0aec93/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/1b297d6ed1f47b68352158056c282120ba0aec93/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/1b297d6ed1f47b68352158056c282120ba0aec93/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/1b297d6ed1f47b68352158056c282120ba0aec93/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/1b297d6ed1f47b68352158056c282120ba0aec93/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 11, 2020, 7:11:11 AM5/11/20
to v8-re...@googlegroups.com

Comment #15 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c15


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/0a69768a4e1bb6e809e01bc9d6c18151b9d671be

commit 0a69768a4e1bb6e809e01bc9d6c18151b9d671be
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon May 11 11:09:47 2020

[wasm-gc] Implement ref.as_non_null, optimize struct instructions.

Implement the instruction ref.as_non_null, as per the wasm gc extension.

Changes:
- Add the respective wasm opcode, move some asmjs opcodes around.
- Add a new type of wasm trap, IllegalCast.
- Modify wasm decoding and compilation pipeline.
- Add a minimal test.
- In wasm-compiler, generalize Unreachable to Trap.
- Optimize struct.get and struct.set for non-null types.

Bug: v8:7748
Change-Id: If2f794306c7cbfabc06e4f64988132346085d6dd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2187616
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67705}

[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/builtins/base.tq
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/builtins/wasm.tq
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/common/globals.h
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/common/message-template.h
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/compiler/wasm-compiler.h
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/0a69768a4e1bb6e809e01bc9d6c18151b9d671be/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 11, 2020, 11:50:08 AM5/11/20
to v8-re...@googlegroups.com

Comment #16 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c16


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/6a6c151ddaf2357748680bfd46506af44dc29e71

commit 6a6c151ddaf2357748680bfd46506af44dc29e71
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon May 11 15:49:23 2020

[wasm-gc] Implement br_on_null

Add br_on_null opcode, encoding, decoding, and elementary tests.

Bug: v8:7748
Change-Id: Id771ea7f57694e1c1bffc83c4232132bf9ad9dbd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190424
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67712}

[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/src/compiler/wasm-compiler.h
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/6a6c151ddaf2357748680bfd46506af44dc29e71/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 11, 2020, 12:01:18 PM5/11/20
to v8-re...@googlegroups.com

Comment #17 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c17


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00

commit ccb7b42697f02ad0afe1f9a1b6afcc723544ec00
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Mon May 11 15:57:43 2020

[wasm-gc] Implement array.get/array.set

With bounds checks, null checks, and a test case.

Bug: v8:7748
Change-Id: I9e7d68ecd883bd0279f22d11c1dc73cc8716a4cb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2192659
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67714}

[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/builtins/base.tq
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/builtins/wasm.tq
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/common/globals.h
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/common/message-template.h
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/compiler/wasm-compiler.h
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/ccb7b42697f02ad0afe1f9a1b6afcc723544ec00/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 12, 2020, 8:12:52 AM5/12/20
to v8-re...@googlegroups.com

bugdroid via monorail

unread,
May 12, 2020, 11:36:09 AM5/12/20
to v8-re...@googlegroups.com

Comment #19 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c19


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/eb23cef034dccc14f85be16c0167e0f97120487a

commit eb23cef034dccc14f85be16c0167e0f97120487a
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue May 12 15:35:25 2020

[wasm-gc] Implement ref.eq

Changes:
- Implement subtyping for eqref.
- (Driveby) Declare more functions as constexpr in ValueType.
- Make minor changes needed to handle ref.eq.
- Write an elementary test.

Bug: v8:7748
Change-Id: I11d54227798ce56de70f3a6f83305b2f80b2f57f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2193715
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67752}

[modify] https://crrev.com/eb23cef034dccc14f85be16c0167e0f97120487a/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/eb23cef034dccc14f85be16c0167e0f97120487a/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/eb23cef034dccc14f85be16c0167e0f97120487a/src/wasm/value-type.h
[modify] https://crrev.com/eb23cef034dccc14f85be16c0167e0f97120487a/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/eb23cef034dccc14f85be16c0167e0f97120487a/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 18, 2020, 2:42:46 AM5/18/20
to v8-re...@googlegroups.com

Comment #20 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c20


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/a4d295ad7684a409805fa826e405f4f76b9f4065

commit a4d295ad7684a409805fa826e405f4f76b9f4065
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon May 18 06:41:09 2020

[wasm] Refactor/cleanup DecodeLocals, read_value_type

Changes:
Cleanup:
- Make sure read_value_type has the same interface as other
read_* functions, i.e., returns the decoded value and writes
the consumed length into a pointer.
- DecodeLocals is now an instance method.
- DecodeLocals should fail when given a wrong number of locals.
Add tests to catch that.
- Fix a buggy test.

Refactoring in preparation of introducing the 'let'
instruction as per [wasm-gc]:
- DecodeLocals does not consume any input and can start from any pc.
- DecodeLocals gives the option of not appending the decoded
locals to local_types_.
- Separate locals initialization from signature.

Bug: v8:7748
Change-Id: Iaaff87fdb9abe0ddd716484ea3fa87779d2d1a2f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202992
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67845}

[modify] https://crrev.com/a4d295ad7684a409805fa826e405f4f76b9f4065/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/a4d295ad7684a409805fa826e405f4f76b9f4065/src/wasm/function-body-decoder.cc
[modify] https://crrev.com/a4d295ad7684a409805fa826e405f4f76b9f4065/src/wasm/module-decoder.cc
[modify] https://crrev.com/a4d295ad7684a409805fa826e405f4f76b9f4065/test/cctest/wasm/test-streaming-compilation.cc
[modify] https://crrev.com/a4d295ad7684a409805fa826e405f4f76b9f4065/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
May 18, 2020, 3:32:46 AM5/18/20
to v8-re...@googlegroups.com

Comment #21 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c21


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/5ccf1bf9550e6251501b8581ea1788705b075b96

commit 5ccf1bf9550e6251501b8581ea1788705b075b96
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon May 18 07:24:39 2020

[wasm][refactor] Make SigEnv a ZoneObject

Also, change its 'locals' field to a ZoneVector.
This is needed for 'let' as per [wasm-gc].

Bug: v8:7748
Change-Id: I9e6ca7f7e483b4bc13b64643107297be31af0e35
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202995
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67847}

[modify] https://crrev.com/5ccf1bf9550e6251501b8581ea1788705b075b96/src/wasm/graph-builder-interface.cc

bugdroid via monorail

unread,
May 20, 2020, 6:09:42 PM5/20/20
to v8-re...@googlegroups.com

Comment #22 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c22


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/cf7731e261c959f42888f27447167c62505b4301

commit cf7731e261c959f42888f27447167c62505b4301
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed May 20 22:08:26 2020

[wasm][refactor] Change signature of DecodeLocals.

We would like DecodeLocals to allow inserting new locals
in any position. This is useful for the upcoming 'let' instruction.

Bug: v8:7748
Change-Id: Ic7f2a7fba0f69ee76b0ace46bb0cecee9d047306
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2208859
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67936}

[modify] https://crrev.com/cf7731e261c959f42888f27447167c62505b4301/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/cf7731e261c959f42888f27447167c62505b4301/src/wasm/function-body-decoder.cc

bugdroid via monorail

unread,
May 20, 2020, 7:38:42 PM5/20/20
to v8-re...@googlegroups.com

Comment #23 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c23


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/491a94b0ff810b2d18d3353c68652f4532d51917

commit 491a94b0ff810b2d18d3353c68652f4532d51917
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed May 20 23:37:14 2020

[wasm-gc] Implement 'let' opcode.

Changes:
- Implement the 'let' opcode, as per
https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md#local-bindings
- Use a WasmDecoder in place of a plain decoder in OpcodeLength and
AnalyzeLoopAssignment.
- Change ControlBase to accept an additional 'locals_count' parameter.
- Implement required test infrastructure and write some simple tests.

Bug: v8:7748
Change-Id: I39d60d1f0c26016c8f89c009dc5f4119b0c73c87
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2204107
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67937}

[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/src/wasm/function-body-decoder.cc
[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/491a94b0ff810b2d18d3353c68652f4532d51917/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
May 25, 2020, 6:34:02 AM5/25/20
to v8-re...@googlegroups.com

Comment #24 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c24


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/be6c7f4aa35783c74f55372c8bc5ed401b0d5999

commit be6c7f4aa35783c74f55372c8bc5ed401b0d5999
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon May 25 10:30:02 2020

[wasm][bug] Check that type indexes are within limits in read_value_type

Failing to do so results in an error when generating the respective
ValueType, since the index has to be encoded in 24 bits.

Bug: v8:7748, chromium:1080444
Change-Id: Ifd1ce9744388b65f91dbd9eaeb497726c6cd207e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2214823
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67952}

[modify] https://crrev.com/be6c7f4aa35783c74f55372c8bc5ed401b0d5999/src/wasm/function-body-decoder-impl.h

bugdroid via monorail

unread,
May 25, 2020, 11:22:04 PM5/25/20
to v8-re...@googlegroups.com

Comment #25 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c25


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/4c256166a8681d644335f8d70b0b2a877a1f680d

commit 4c256166a8681d644335f8d70b0b2a877a1f680d
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue May 26 03:21:45 2020

[wasm-gc] Check if ref. indices in struct/array defs are legal

After all struct/array definitions are parsed, we need to check if all
reference type indices are legal. We need to do it at the end because
types can be mutually recursive.

Bug: v8:7748
Change-Id: I5e6b5185e7d0c5e8d905b6833a2b9026ab630c01
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2214821
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67960}

[modify] https://crrev.com/4c256166a8681d644335f8d70b0b2a877a1f680d/src/wasm/module-decoder.cc

bugdroid via monorail

unread,
May 27, 2020, 1:20:57 AM5/27/20
to v8-re...@googlegroups.com

Comment #26 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c26


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/782fa8d80fbb168f990d4ff25c28f0ad488e3544

commit 782fa8d80fbb168f990d4ff25c28f0ad488e3544
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed May 27 05:19:58 2020

[wasm-gc] Add packed types to ValueType

Motivation:
In the wasm-gc proposal, structs and arrays are allowed to store
elements of packed types i8 and i16.

Changes:
- Add i8 and i16 to ValueType.
- Fix all case switches to handle the new cases.
- Add a couple helper methods to ValueType and improve the
implementation/usage of a couple more.

Bug: v8:7748
Change-Id: I527cfe5acf5d877fc38e4212174ba9f9de5c40ad
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215046

Reviewed-by: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67994}

[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/module-instantiate.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/value-type.h
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/wasm-constants.h
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/wasm-js.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/src/wasm/wasm-objects.cc
[modify] https://crrev.com/782fa8d80fbb168f990d4ff25c28f0ad488e3544/test/common/wasm/wasm-module-runner.cc

bugdroid via monorail

unread,
May 27, 2020, 3:49:05 AM5/27/20
to v8-re...@googlegroups.com

Comment #27 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c27


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/1646c9be8c7a19d9a936b9bbc2f747253c1f2685

commit 1646c9be8c7a19d9a936b9bbc2f747253c1f2685
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed May 27 07:46:02 2020

[wasm-gc] Add mutability and packed types to arrays/structs

Bug: v8:7748
Change-Id: I4ae500548e7ab09f5bd037563af5c057751197bb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215049

Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>

bugdroid via monorail

unread,
May 28, 2020, 6:57:25 AM5/28/20
to v8-re...@googlegroups.com

Comment #28 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c28


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/0dc1a2d81e5cbcf65e23ebe30efb2c59f74e4014

commit 0dc1a2d81e5cbcf65e23ebe30efb2c59f74e4014
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu May 28 10:56:46 2020

[wasm-gc] Add tests for array/struct index checks.

This was postponed until the changes to struct and array types
were implemented
(https://chromium-review.googlesource.com/c/v8/v8/+/2215049).

Bug: v8:7748
Change-Id: I2c7a7d6bcbc1b93f82240f5e245ac1a066d74511
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2214832

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
May 29, 2020, 8:42:41 AM5/29/20
to v8-re...@googlegroups.com

Comment #29 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c29


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/79db180b5006585a2ca90af9217e4358dc9aa868

commit 79db180b5006585a2ca90af9217e4358dc9aa868
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri May 29 12:41:59 2020

[wasm][unittests] Add unittest to catch bug found by fuzzer

Bug: v8:7748, chronium:1080444
Change-Id: I8d7e3cb8b3ea06001794fdda44faaff8e509e1b6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2219930
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68071}

[modify] https://crrev.com/79db180b5006585a2ca90af9217e4358dc9aa868/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
Jun 3, 2020, 11:15:50 AM6/3/20
to v8-re...@googlegroups.com

Comment #30 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c30


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/57c8f1dabceef74ea1a1cec13bc317c35210ddbc

commit 57c8f1dabceef74ea1a1cec13bc317c35210ddbc
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Jun 03 15:14:37 2020

[wasm-gc] Refactor GC tests

Add some abstractions to make it easier to define more tests.

Bug: v8:7748
Change-Id: Ia5605aa10963228eb4bfba37e2b412fc5af860d8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2224212
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68147}

[modify] https://crrev.com/57c8f1dabceef74ea1a1cec13bc317c35210ddbc/test/cctest/wasm/test-gc.cc

bugdroid via monorail

unread,
Jun 5, 2020, 4:04:05 AM6/5/20
to v8-re...@googlegroups.com

Comment #31 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c31


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/72dffedbd482275552803dc17bb613b6542720ba

commit 72dffedbd482275552803dc17bb613b6542720ba
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 05 08:02:55 2020

[wasm-gc] Refactor wasm subtyping, extend it to struct/array types.

Changes:
- Remove subtyping checks from value-type.h and move them to dedicated
files. Leave a limited version in value-type.h for testing.
- Implement subtyping for struct and array types, according to the
wasm-gc proposal.
- Implement type equivalence checking.
- Introduce a subtyping relation cache in WasmModule.
- Rename IsSubTypeOf -> IsSubtypeOf.
- Fix v8 possible bug where iterator_range took two unused type
parameters.
- Add unittests for subtyping.

Bug: v8:7748
Change-Id: I0ddbda4145e0412196dcf4fc63f3c5875fb3ab5a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2228497
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68192}

[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/BUILD.gn
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/base/iterator.h
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/module-decoder.cc
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/module-instantiate.cc
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/value-type.h
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/wasm-module.cc
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/wasm-module.h
[add] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/wasm-subtyping.cc
[add] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/src/wasm/wasm-subtyping.h
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/test/unittests/BUILD.gn
[modify] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/test/unittests/wasm/function-body-decoder-unittest.cc
[add] https://crrev.com/72dffedbd482275552803dc17bb613b6542720ba/test/unittests/wasm/subtyping-unittest.cc

bugdroid via monorail

unread,
Jun 5, 2020, 5:24:05 AM6/5/20
to v8-re...@googlegroups.com

Comment #32 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c32


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/1b699b4e139da2fe6d0f30b5255e61101db4f2db

commit 1b699b4e139da2fe6d0f30b5255e61101db4f2db
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 05 09:23:46 2020

[wasm-gc][bug] Fix various bugs in wasm gc code

Changes:
- Unpack packed typed in arrays/structs where needed.
- i8 should have log-size 0.
- Use typed-funcref feature flag instead of gc where appropriate.
- Set argument indexes correctly for gc opcodes in
function-body-decoder.
- Remove no-longer valid TODOs.

Bug: v8:7748
Change-Id: I1a73794d0f93da6c7177e496d47df4106031f0eb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2230520
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68196}

[modify] https://crrev.com/1b699b4e139da2fe6d0f30b5255e61101db4f2db/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/1b699b4e139da2fe6d0f30b5255e61101db4f2db/src/wasm/value-type.h
[modify] https://crrev.com/1b699b4e139da2fe6d0f30b5255e61101db4f2db/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/1b699b4e139da2fe6d0f30b5255e61101db4f2db/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
Jun 5, 2020, 2:54:05 PM6/5/20
to v8-re...@googlegroups.com

Comment #33 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c33


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/2ab7143e1d5edd94f09afa4aa8990caf10466a9c

commit 2ab7143e1d5edd94f09afa4aa8990caf10466a9c
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 05 18:52:56 2020

[wasm-gc] Add signedness argument to struct/array get

This change is needed to implement {struct,array}.get_{s,u}.

Some functionality in wasm-compiler was factored out to helper functions
LoadWithAlignment and StoreWithValueType.

Bug: v8:7748
Change-Id: I2a04d09d40532f2389cc82b4c9ee3d8e003c5101
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2231347

Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jun 5, 2020, 5:01:56 PM6/5/20
to v8-re...@googlegroups.com

Comment #34 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c34


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/e9cdb2a7f28ec71a0858632c07dcc45b459f6021

commit e9cdb2a7f28ec71a0858632c07dcc45b459f6021
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 05 21:01:26 2020

[wasm-gc] Implement packed arrays/structs

Bug: v8:7748
Change-Id: I461b68f1950847271a92e7b52f3d4d8b520eccfe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2231349

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>

bugdroid via monorail

unread,
Jun 9, 2020, 11:05:47 AM6/9/20
to v8-re...@googlegroups.com

Comment #35 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c35


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/5e1cf17bebe2ceb40928e10197edee2283a08b45

commit 5e1cf17bebe2ceb40928e10197edee2283a08b45
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jun 09 15:05:12 2020

[wasm-gc] Check for illegal indexes in fun defs

Reference types in function definitions signatures are not allowed to
refer to function types (this will change when we fully integrate the
typed function references proposal).

Bug: v8:7748
Change-Id: I2456b810f85e608c48a952ef9e64d7a8ff78892b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2231352

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>

bugdroid via monorail

unread,
Jun 9, 2020, 1:51:57 PM6/9/20
to v8-re...@googlegroups.com

Comment #36 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c36


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e

commit ba688c6ec9c0fb4439f7381cb8046ea14b159d0e
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jun 09 17:51:04 2020

[wasm] Rename anyref to externref, anyref flag/feature to reftypes

The reference types wasm proposal dropped all subtyping. Subsequently,
the 'anyref' type was renamed to externref.
This changes all references of the *type* anyref to externref.
Additionally, the flag that permits this extension is renamed to
"reftypes" to mirror the proposal name.

Bug: v8:7748
Change-Id: Icf323f13b9660fd10540e65125af053fca3a03f9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2232941
Commit-Queue: Clemens Backes <clem...@chromium.org>
Reviewed-by: Kim-Anh Tran <kim...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Yang Guo <yan...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68270}

[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/include/js_protocol.pdl
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/api/api.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/compiler/wasm-compiler.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/debug/debug-interface.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/debug/wasm/gdb-server/wasm-module-debug.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/inspector/value-mirror.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/objects/debug-objects.tq
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/baseline/liftoff-compiler.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/c-api.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/module-decoder.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/module-instantiate.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/value-type.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-constants.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-debug.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-feature-flags.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-js.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-module.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-objects.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-objects.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/src/wasm/wasm-value.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/cctest/wasm/test-run-wasm-bulk-memory.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/cctest/wasm/test-run-wasm-interpreter.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/cctest/wasm/test-run-wasm-module.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/cctest/wasm/test-run-wasm.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/common/wasm/test-signatures.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/common/wasm/wasm-module-runner.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/debugger/debug/wasm/debug-enabled-tier-down-wasm-unsupported-liftoff.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/fuzzer/wasm-compile.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/fuzzer/wasm-fuzzer-common.cc
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/inspector/debugger/wasm-externref-global-expected.txt
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/inspector/debugger/wasm-externref-global.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/inspector/inspector.status
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/regress/wasm/regress-7785.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/regress/wasm/regress-964607.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/anyfunc.js
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/exceptions-externref.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/exceptions-global.js
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/externref-globals.js
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/externref-table.js
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/externref.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/indirect-call-non-zero-table.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/multi-table-element-section.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/mutable-globals.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/table-access.js
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/table-copy-externref.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/table-fill.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/table-grow-from-wasm.js
[rename] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/type-reflection-with-externref.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/mjsunit/wasm/wasm-module-builder.js
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/unittests/wasm/function-body-decoder-unittest.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/unittests/wasm/module-decoder-unittest.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/unittests/wasm/subtyping-unittest.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/unittests/wasm/wasm-compiler-unittest.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/wasm-api-tests/callbacks.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/wasm-api-tests/hostref.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/wasm-api-tests/reflect.cc
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/wasm-js/testcfg.py
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/wasm-spec-tests/testcfg.py
[modify] https://crrev.com/ba688c6ec9c0fb4439f7381cb8046ea14b159d0e/test/wasm-spec-tests/wasm-spec-tests.status

bugdroid via monorail

unread,
Jun 10, 2020, 5:03:57 AM6/10/20
to v8-re...@googlegroups.com

Comment #37 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c37


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/e512da1e392233de52fe2b70eccd6948b4ccc986

commit e512da1e392233de52fe2b70eccd6948b4ccc986
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Jun 10 09:01:24 2020

[wasm-gc][cleanup] Remove nullref type

As per the latest update to the 'reference types' wasm proposal, the
nullref type is removed. Following that, all its uses in V8 were also
removed. This CL:
- Removes now dead code referencing nullref.
- Changes names of functions/exceptions containing 'nullref' to 'null'.
- Changes nullref to the corresponding nullable type in some tests.

Bug: v8:7748
Change-Id: I5b4606671d7b24dd48a45a3341e8a1c056fcd1d0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2238026

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Reviewed-by: Jakob Gruber <jgr...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68283}

[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/builtins/base.tq
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/builtins/wasm.tq
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/common/globals.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/common/message-template.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/debug/wasm/gdb-server/wasm-module-debug.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/c-api.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/module-decoder.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/module-instantiate.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/value-type.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-constants.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-js.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-module.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-objects.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/src/wasm/wasm-objects.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/common/wasm/test-signatures.h
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/common/wasm/wasm-module-runner.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/mjsunit/wasm/anyfunc.js
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/mjsunit/wasm/exceptions-externref.js
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/mjsunit/wasm/externref-globals.js
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/mjsunit/wasm/externref.js
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/mjsunit/wasm/wasm-module-builder.js
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/unittests/wasm/function-body-decoder-unittest.cc
[modify] https://crrev.com/e512da1e392233de52fe2b70eccd6948b4ccc986/test/unittests/wasm/module-decoder-unittest.cc

bugdroid via monorail

unread,
Jun 18, 2020, 8:05:41 AM6/18/20
to v8-re...@googlegroups.com

Comment #38 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c38


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/52f6529634f7f48bcc3862a42339d8fd58bb7f8e

commit 52f6529634f7f48bcc3862a42339d8fd58bb7f8e
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu Jun 18 12:04:08 2020

[wasm-gc] Change ValueType representation to account for new types

Motivation:
Changes to the typed function references and gc proposals solidified
the notion of heap type, clarified nullable vs. non-nullable reference
types, and introduced rtts, which contain an integer depth field in
addition to a heap type. This required us to overhaul our ValueType
representation, which results in extensive changes.

To keep this CL "small", we do not try to implement the binary encoding
as described in the proposals, but rather devise a simpler one of our
own (see below). Also, we do not try to implement additional
functionality for the new types.

Changes:
- Introduce HeapType. Move heap types from ValueType to HeapType.
- Introduce Nullability for reference types.
- Rework ValueType helper methods.
- Introduce rtts in ValueType with an integer depth field. Include depth
in the ValueType encoding.
- Make the constructor of ValueType private, instead expose static
functions which explicitly state what they create.
- Change every switch statement on ValueType::Kind. Sometimes, we need
nested switches.
- Introduce temporary constants in ValueTypeCode for nullable types,
use them for decoding.
- In WasmGlobalObject, split 'flags' into 'raw_type' and 'is_mutable'.
- Change IsSubtypeOfRef to IsSubtypeOfHeap and implement changes in
subtyping.
- kWasmFuncRef initializers are now non-nullable. Initializers are
only required to be subtypes of the declared global type.
- Change tests and fuzzers as needed.

Bug: v8:7748
Change-Id: If41f783bd4128443b07e94188cea7dd53ab0bfa5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2247657
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68408}

[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/api/api.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/builtins/wasm.tq
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/objects/debug-objects.tq
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/baseline/x64/liftoff-assembler-x64.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/c-api.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/local-decl-encoder.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/module-decoder.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/module-instantiate.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/value-type.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-constants.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-debug.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-interpreter.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-js.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-module.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-module.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-objects.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-objects.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-objects.tq
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/src/wasm/wasm-subtyping.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/cctest/wasm/test-run-wasm-module.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/cctest/wasm/test-wasm-debug-evaluate.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/common/wasm/wasm-module-runner.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/fuzzer/wasm-compile.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/fuzzer/wasm-fuzzer-common.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/unittests/wasm/function-body-decoder-unittest.cc
[modify] https://crrev.com/52f6529634f7f48bcc3862a42339d8fd58bb7f8e/test/unittests/wasm/subtyping-unittest.cc

bugdroid via monorail

unread,
Jun 19, 2020, 2:44:06 AM6/19/20
to v8-re...@googlegroups.com

Comment #39 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c39


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/bbc23b4412f239166f63e9b2ca4ad2088d3ed985

commit bbc23b4412f239166f63e9b2ca4ad2088d3ed985
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 19 06:43:56 2020

[wasm-gc] Fix type equivalence for rtts

Bug: v8:7748
Change-Id: I6087c02aab93ba44b8029f3d1a0c99fd6a4da6f8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2250248
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68423}

[modify] https://crrev.com/bbc23b4412f239166f63e9b2ca4ad2088d3ed985/src/wasm/wasm-subtyping.cc

bugdroid via monorail

unread,
Jun 19, 2020, 4:46:46 AM6/19/20
to v8-re...@googlegroups.com

Comment #40 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c40


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/c85800e2df7d653f18d9f5f6aee59e8289b03b4d

commit c85800e2df7d653f18d9f5f6aee59e8289b03b4d
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 19 08:43:44 2020

[wasm-gc] Establish HeapType shorthands, rework signatures.

This CL introduces one-letter shorthands to HeapTypes, and fixes
signatures to be in sync with the ValueType and HeapType shorthands.

Bug: v8:7748
Change-Id: I4cc8e26d6523074bc36bf2d29289e63a23e80ddc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2249672

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jun 19, 2020, 5:43:17 AM6/19/20
to v8-re...@googlegroups.com

Comment #41 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c41


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/36532d1beb20815a9e8fcbab70b64ebe893f37a2

commit 36532d1beb20815a9e8fcbab70b64ebe893f37a2
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 19 09:39:29 2020

[wasm-gc] Split and rename gc tests

Bug: v8:7748
Change-Id: I58e8216e3d51aa9da3e6a819cdf2614b4509e1a9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2250249

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jun 19, 2020, 1:48:48 PM6/19/20
to v8-re...@googlegroups.com

Comment #42 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c42


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/1c39569e2eee260876d8d391d44e2a56c59712eb

commit 1c39569e2eee260876d8d391d44e2a56c59712eb
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jun 19 17:47:17 2020

[wasm-gc] Change reference type encoding to match proposal spec

Bug: v8:7748
Change-Id: I9af885e4c33541a8e065082ae7f07804bd11807a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2252190

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68443}

[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/src/wasm/local-decl-encoder.cc
[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/src/wasm/value-type.h
[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/src/wasm/wasm-constants.h
[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/test/cctest/wasm/test-run-wasm-module.cc
[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/1c39569e2eee260876d8d391d44e2a56c59712eb/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
Jun 23, 2020, 12:39:28 PM6/23/20
to v8-re...@googlegroups.com

Comment #43 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c43


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/906db63ff4cfe7240fa96c1de414701db7d6bbd5

commit 906db63ff4cfe7240fa96c1de414701db7d6bbd5
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Jun 23 15:04:23 2020

[wasm-gc] Implement rtt.canon

along with a very basic test case.

Bug: v8:7748
Change-Id: I93d4b280922dd9eba8defc1a83ca08a2a957376a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2254023
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68485}

[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/compiler/wasm-compiler.h
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/module-decoder.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/value-type.h
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/wasm-js.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/test/common/wasm/wasm-interpreter.cc
[modify] https://crrev.com/906db63ff4cfe7240fa96c1de414701db7d6bbd5/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jun 23, 2020, 1:09:23 PM6/23/20
to v8-re...@googlegroups.com

Comment #44 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c44

bugdroid via monorail

unread,
Jun 23, 2020, 1:45:21 PM6/23/20
to v8-re...@googlegroups.com

Comment #45 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c45

bugdroid via monorail

unread,
Jun 23, 2020, 2:25:47 PM6/23/20
to v8-re...@googlegroups.com

Comment #46 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c46

bugdroid via monorail

unread,
Jun 23, 2020, 2:42:05 PM6/23/20
to v8-re...@googlegroups.com

Comment #47 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c47

bugdroid via monorail

unread,
Jun 24, 2020, 9:27:58 AM6/24/20
to v8-re...@googlegroups.com

Comment #48 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c48


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/f4f8f247e7e50a7bc63248ed3a40178d46260430

commit f4f8f247e7e50a7bc63248ed3a40178d46260430
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Jun 24 13:26:58 2020

[wasm][perf-bug] Fix perf regression due to expensive subtyping check

The more complicated subtyping checks due to the new wasm-gc types
caused a performance regression. This CL:
- Adds a V8_LIKELY annotation to the more common path
(type equality).
- Factors the rest of the check out of the inlinable part of subtype
checking to reduce binary size, and thus cache misses.

Bug: chromium:1096769, v8:7748
Change-Id: Idd92789b40cc175c268ef5a53f042d4b881992af
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2263156
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Thibaud Michaud <thib...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68511}

[modify] https://crrev.com/f4f8f247e7e50a7bc63248ed3a40178d46260430/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/f4f8f247e7e50a7bc63248ed3a40178d46260430/src/wasm/wasm-subtyping.h

bugdroid via monorail

unread,
Jun 24, 2020, 2:20:09 PM6/24/20
to v8-re...@googlegroups.com

Comment #49 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c49


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/327c2d2acf87139e61b17b8ce7a3e923fd87e00c

commit 327c2d2acf87139e61b17b8ce7a3e923fd87e00c
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Jun 24 18:12:59 2020

[wasm-gc] Introduce HeapTypeImmediate

Some operations require an immediate argument that represents a heap
type. This CL introduces a class to represent it and uses it where
appropriate. Also, the redundant TypeIndexImmediate is removed.

Bug: v8:7748
Change-Id: Ib4b1d50764a79f5dd3240688f8165c39745eaad8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260874
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68522}

[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/compiler/wasm-compiler.h
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/wasm/module-decoder.cc
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/wasm/value-type.h
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/test/common/wasm/wasm-interpreter.cc
[modify] https://crrev.com/327c2d2acf87139e61b17b8ce7a3e923fd87e00c/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jun 24, 2020, 4:30:29 PM6/24/20
to v8-re...@googlegroups.com

Comment #50 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c50


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81

commit 305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Jun 24 20:28:55 2020

[wasm-gc][cleanup] Fix/Tidy up some easy TODOs etc.

Bug: v8:7748
Change-Id: I45a8f1398554da8a9543c866b4125fd9711e230b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2263933
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68524}

[modify] https://crrev.com/305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81/src/wasm/c-api.cc
[modify] https://crrev.com/305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81/src/wasm/wasm-objects.cc
[modify] https://crrev.com/305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/305e3dfcc912dc7d87b3a6ea66f60a6d13b9aa81/test/common/wasm/wasm-interpreter.cc

bugdroid via monorail

unread,
Jun 24, 2020, 4:31:55 PM6/24/20
to v8-re...@googlegroups.com

Comment #51 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c51


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/e19c945b222a0fd2cc658f239b5265d3592d1f62

commit e19c945b222a0fd2cc658f239b5265d3592d1f62
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Jun 24 20:31:15 2020

[wasm-gc] Skip null check for non-nullable arrays in generated code

Bug: v8:7748
Change-Id: Ic55c1aeb2bceb72dff1338c4d9cbde9aa799f25a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2262914
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68525}

[modify] https://crrev.com/e19c945b222a0fd2cc658f239b5265d3592d1f62/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/e19c945b222a0fd2cc658f239b5265d3592d1f62/src/compiler/wasm-compiler.h
[modify] https://crrev.com/e19c945b222a0fd2cc658f239b5265d3592d1f62/src/wasm/graph-builder-interface.cc

bugdroid via monorail

unread,
Jun 26, 2020, 12:32:13 PM6/26/20
to v8-re...@googlegroups.com

Comment #52 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c52


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/04ce88eae5c639e549c8612306f06ee4610ed5a5

commit 04ce88eae5c639e549c8612306f06ee4610ed5a5
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Fri Jun 26 16:31:02 2020

[wasm-gc] Implement rtt.sub

RTTs are internally represented as Maps. To store supertype information,
this patch introduces a WasmTypeInfo object, which is installed on Wasm
objects' Maps and points at both the off-heap type information and the
parent RTT.
In this patch, rtt.sub always creates a fresh RTT. The canonicalization
that the proposal requires will be implemented later.

Bug: v8:7748
Change-Id: I8286dd11f520966155cd95c2bd844ec34fccd131
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260566

Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68564}

[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/builtins/wasm.tq
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/compiler/types.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/compiler/wasm-compiler.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/diagnostics/objects-debug.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/heap/factory.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/heap/factory.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/heap/objects-visiting.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/heap/setup-heap-internal.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/objects/map-inl.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/objects/map.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/objects/map.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/objects/object-list-macros.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/objects/objects.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/roots/roots.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/runtime/runtime.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/wasm/module-instantiate.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/wasm/wasm-objects.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/src/wasm/wasm-objects.tq
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/04ce88eae5c639e549c8612306f06ee4610ed5a5/tools/v8heapconst.py

bugdroid via monorail

unread,
Jun 26, 2020, 2:19:59 PM6/26/20
to v8-re...@googlegroups.com

Comment #53 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c53


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/304565661b336e9cfe369640da37c4a30cfd6c3d

commit 304565661b336e9cfe369640da37c4a30cfd6c3d
Author: Shu-yu Guo <s...@chromium.org>
Date: Fri Jun 26 18:16:37 2020

Revert "[wasm-gc] Implement rtt.sub"

This reverts commit 04ce88eae5c639e549c8612306f06ee4610ed5a5.

Reason for revert: TSAN failure: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/32135

Original change's description:

> [wasm-gc] Implement rtt.sub
>
> RTTs are internally represented as Maps. To store supertype information,
> this patch introduces a WasmTypeInfo object, which is installed on Wasm
> objects' Maps and points at both the off-heap type information and the
> parent RTT.
> In this patch, rtt.sub always creates a fresh RTT. The canonicalization
> that the proposal requires will be implemented later.
>
> Bug: v8:7748
> Change-Id: I8286dd11f520966155cd95c2bd844ec34fccd131
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260566
> Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
> Reviewed-by: Tobias Tebbi <te...@chromium.org>
> Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#68564}

TBR=ul...@chromium.org,jkum...@chromium.org,te...@chromium.org

Change-Id: I311732e1ced4de7a58b87d4a9b6056e0d62aa986
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7748
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2270734
Reviewed-by: Shu-yu Guo <s...@chromium.org>
Commit-Queue: Shu-yu Guo <s...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68567}

[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/builtins/wasm.tq
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/compiler/types.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/compiler/wasm-compiler.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/diagnostics/objects-debug.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/heap/factory.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/heap/factory.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/heap/objects-visiting.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/heap/setup-heap-internal.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/objects/map-inl.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/objects/map.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/objects/map.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/objects/object-list-macros.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/objects/objects.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/roots/roots.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/runtime/runtime.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/wasm/module-instantiate.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/wasm/wasm-objects.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/src/wasm/wasm-objects.tq
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/304565661b336e9cfe369640da37c4a30cfd6c3d/tools/v8heapconst.py

bugdroid via monorail

unread,
Jun 29, 2020, 6:01:28 AM6/29/20
to v8-re...@googlegroups.com

Comment #54 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c54


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05

commit fe00ecb8ba69ff2fee7ccadee8be35f33d679f05
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Jun 29 10:00:44 2020

[wasm-gc] Introduce HeapType class

Drive-by: Fix ref.is_null calling is_reference_type to typecheck its
argument (which would also allow rtts).

Bug: v8:7748
Change-Id: I2ad01d0f70ac15d37ac4cc344bd0280a7ca08073
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2264094
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68572}

[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/api/api.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/builtins/wasm.tq
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/c-api.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/local-decl-encoder.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/module-decoder.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/module-instantiate.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/value-type.h
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-debug.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-js.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-module.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-module.h
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-objects.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/test/common/wasm/wasm-interpreter.cc
[modify] https://crrev.com/fe00ecb8ba69ff2fee7ccadee8be35f33d679f05/test/fuzzer/wasm-fuzzer-common.cc

bugdroid via monorail

unread,
Jun 29, 2020, 7:41:00 AM6/29/20
to v8-re...@googlegroups.com

Comment #55 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c55


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/dff914aeb247d752d491ea25638a16481924dae7

commit dff914aeb247d752d491ea25638a16481924dae7
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Mon Jun 29 11:40:13 2020

[wasm-gc] Protect subtyping cache with a mutex

The per-module caches for subtype relations and type equivalences are
accessed from several background compile jobs, so these accesses must
be guarded by a lock.
This issue was found by our TSan bots and caused the following revert:
https://chromium-review.googlesource.com/c/v8/v8/+/2270734

Bug: v8:7748
Change-Id: I0322972f8f72ca8aff3538bf3f78d4329e5f3a44
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2272564
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Clemens Backes <clem...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Auto-Submit: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68574}

[modify] https://crrev.com/dff914aeb247d752d491ea25638a16481924dae7/src/wasm/wasm-module.h
[modify] https://crrev.com/dff914aeb247d752d491ea25638a16481924dae7/src/wasm/wasm-subtyping.cc

bugdroid via monorail

unread,
Jun 29, 2020, 10:57:14 AM6/29/20
to v8-re...@googlegroups.com

Comment #56 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c56


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d

commit abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Mon Jun 29 14:55:45 2020

Reland: [wasm-gc] Implement rtt.sub

Relanding without changes, revert reason was fixed by:
https://chromium-review.googlesource.com/c/v8/v8/+/2272564

Originally reviewed at:
https://chromium-review.googlesource.com/c/v8/v8/+/2260566

Original description:

RTTs are internally represented as Maps. To store supertype information,
this patch introduces a WasmTypeInfo object, which is installed on Wasm
objects' Maps and points at both the off-heap type information and the
parent RTT.
In this patch, rtt.sub always creates a fresh RTT. The canonicalization
that the proposal requires will be implemented later.

Bug: v8:7748
Change-Id: I7fd4986efa3153ac68037ec418ea617f3f7636e8
Tbr: ul...@chromium.org
Tbr: te...@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273123
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68581}

[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/builtins/wasm.tq
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/compiler/types.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/compiler/wasm-compiler.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/diagnostics/objects-debug.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/diagnostics/objects-printer.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/heap/factory.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/heap/factory.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/heap/objects-visiting.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/heap/setup-heap-internal.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/objects/map-inl.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/objects/map.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/objects/map.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/objects/object-list-macros.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/objects/objects.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/roots/roots.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/runtime/runtime.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/wasm/module-instantiate.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/wasm/wasm-objects.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/src/wasm/wasm-objects.tq
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/abe8edaf7fa18d4cdd7c45d3ceac0d52abb24a9d/tools/v8heapconst.py

bugdroid via monorail

unread,
Jun 30, 2020, 8:42:59 AM6/30/20
to v8-re...@googlegroups.com

Comment #57 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c57


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/7043ffa2f09ab9ccdba658915defb3d63d31f715

commit 7043ffa2f09ab9ccdba658915defb3d63d31f715
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Jun 30 12:41:25 2020

[wasm-gc] Implement i31ref

This patch does not include support for RTTs for i31ref yet.

Bug: v8:7748
Change-Id: Ifbeb8e305c2d0a57e4d5d6be761d046e330e0da1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273135
Commit-Queue: Michael Achenbach <mache...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68613}

[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/compiler/graph-assembler.h
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/compiler/wasm-compiler.h
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/wasm/value-type.h
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/src/wasm/wasm-constants.h
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/7043ffa2f09ab9ccdba658915defb3d63d31f715/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jun 30, 2020, 9:13:53 AM6/30/20
to v8-re...@googlegroups.com

Comment #58 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c58


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/cd16e727d4dfd9542de9a3a33068a4db8c1679d4

commit cd16e727d4dfd9542de9a3a33068a4db8c1679d4
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jun 30 13:12:55 2020

[wasm-gc] Disallow non-defaultable function-level locals

Bug: v8:7748
Change-Id: Id88f9a9334160687af5f6234bc1cb30472949684
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2274131
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68615}

[modify] https://crrev.com/cd16e727d4dfd9542de9a3a33068a4db8c1679d4/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/cd16e727d4dfd9542de9a3a33068a4db8c1679d4/src/wasm/value-type.h

bugdroid via monorail

unread,
Jun 30, 2020, 3:02:17 PM6/30/20
to v8-re...@googlegroups.com

Comment #59 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c59


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/26626f8731697ec98bc71b73164945c6cd3263a0

commit 26626f8731697ec98bc71b73164945c6cd3263a0
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Jun 30 18:59:55 2020

[wasm-gc] Implement struct.new_with_rtt

Bug: v8:7748
Change-Id: I6bbb73ceb397b102783ecfcc553264d83e926df2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273126
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68620}

[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/builtins/wasm.tq
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/compiler/wasm-compiler.h
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/wasm/wasm-opcodes-inl.h
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/26626f8731697ec98bc71b73164945c6cd3263a0/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jul 1, 2020, 8:28:08 AM7/1/20
to v8-re...@googlegroups.com

Comment #60 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c60


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/5df74c351f86655c46c9bf5a03d4b07f22ebae5d

commit 5df74c351f86655c46c9bf5a03d4b07f22ebae5d
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Jul 01 12:27:40 2020

[wasm] Properly implement parsing of s33 values

Motivation:
We used to approximate s33/i33 value parsing by first checking for
specific negative codes, and then parsing an u32 value if that failed.
This is not correct in all cases.

Changes:
- Implement i33 parsing in Decoder.
- Factor out parsing of heap types into read_heap_type.
- Introduce HeapType::kBottom.
- Introduce helper functions in WasmFeatures and value_type_reader.
- Remove macros from the parsing of value types.
- HeapType::code now returns an i32 for compatibility with the i33
requirement.
- Introduce HeapType::Repr.
- Renamings: HeapType::type() -> representation(),
ValueType::heap() -> heap_representation()

Bug: v8:7748
Change-Id: I04deabce8837a48af2226411cd706a397f9e5725
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2274118
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68633}

[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/c-api.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/decoder.h
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/local-decl-encoder.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/value-type.h
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/wasm-features.h
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/wasm-js.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/wasm-objects.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/test/cctest/wasm/test-run-wasm-module.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/test/common/wasm/wasm-interpreter.cc
[modify] https://crrev.com/5df74c351f86655c46c9bf5a03d4b07f22ebae5d/test/fuzzer/wasm-fuzzer-common.cc

bugdroid via monorail

unread,
Jul 1, 2020, 4:21:59 PM7/1/20
to v8-re...@googlegroups.com

Comment #61 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c61


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/3f74ece91b3edcc55e07b6b4c9ea416598b134ee

commit 3f74ece91b3edcc55e07b6b4c9ea416598b134ee
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Wed Jul 01 20:21:37 2020

[wasm-gc] Implement ref.test and ref.cast

Bug: v8:7748
Change-Id: If0023edf2f27448c605bd8aa6402bf76c7983a6e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277889
Reviewed-by: Andreas Haas <ah...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68640}

[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/src/builtins/wasm.tq
[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/src/compiler/wasm-compiler.h
[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/3f74ece91b3edcc55e07b6b4c9ea416598b134ee/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jul 1, 2020, 4:33:25 PM7/1/20
to v8-re...@googlegroups.com

Comment #62 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c62


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/5629424781876e3365e42e34f7b5eb4a888bffef

commit 5629424781876e3365e42e34f7b5eb4a888bffef
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Wed Jul 01 20:31:59 2020

Revert "[wasm-gc] Implement ref.test and ref.cast"

This reverts commit 3f74ece91b3edcc55e07b6b4c9ea416598b134ee.

Reason for revert: build breakage, rebasing issue

Original change's description:

> [wasm-gc] Implement ref.test and ref.cast
>
> Bug: v8:7748
> Change-Id: If0023edf2f27448c605bd8aa6402bf76c7983a6e
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277889
> Reviewed-by: Andreas Haas <ah...@chromium.org>
> Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#68640}

TBR=jkum...@chromium.org,ah...@chromium.org

Change-Id: Idd4eee1711aed3c0a9f89a36793738c72a34c783

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7748
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2278462
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68641}

[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/src/builtins/wasm.tq
[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/src/compiler/wasm-compiler.h
[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/5629424781876e3365e42e34f7b5eb4a888bffef/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jul 1, 2020, 5:47:16 PM7/1/20
to v8-re...@googlegroups.com

Comment #63 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c63


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/5902846347a47b055de4bd4ca3b142ee260d7a4b

commit 5902846347a47b055de4bd4ca3b142ee260d7a4b
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Wed Jul 01 21:45:47 2020

Reland: [wasm-gc] Implement ref.test and ref.cast

No changes, just rebasing.
Original review: https://chromium-review.googlesource.com/c/v8/v8/+/2277889

Bug: v8:7748
Change-Id: Iea3bc881eaab28b14d4e2af9892ee74848c59f04
Tbr: ah...@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2278463

Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68642}

[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/src/builtins/wasm.tq
[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/src/compiler/wasm-compiler.h
[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/5902846347a47b055de4bd4ca3b142ee260d7a4b/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jul 2, 2020, 3:32:36 AM7/2/20
to v8-re...@googlegroups.com

Comment #64 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c64


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/b72e8d5fdffe6a238c87c4d1fe05973338dc451f

commit b72e8d5fdffe6a238c87c4d1fe05973338dc451f
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu Jul 02 07:31:39 2020

[wasm-gc] Make table type restrictions explicit

Bug: v8:7748
Change-Id: Ib5beeb55c3a9eba8fb23680e3845f80d55f3f154
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2274633
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68646}

[modify] https://crrev.com/b72e8d5fdffe6a238c87c4d1fe05973338dc451f/src/wasm/module-decoder.cc

bugdroid via monorail

unread,
Jul 2, 2020, 7:55:58 AM7/2/20
to v8-re...@googlegroups.com

Comment #65 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c65


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/0a819023d128db344da2a6ee90d9bc09e9fd3df8

commit 0a819023d128db344da2a6ee90d9bc09e9fd3df8
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu Jul 02 11:54:29 2020

[wasm-gc] Test improvements

- Adapt subtyping unittest to the new HeapType API
- Generalize WASM_REF_TYPE macro

Bug: v8:7748
Change-Id: Ifdb24408d7a34a6470ddccdf3dc8536cbb93dece
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2274610

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 2, 2020, 10:21:06 AM7/2/20
to v8-re...@googlegroups.com

Comment #66 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c66


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/7c6ff8b143b169a6923a98bbb03f8a3d2c1f4505

commit 7c6ff8b143b169a6923a98bbb03f8a3d2c1f4505
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu Jul 02 14:20:29 2020

[wasm] Fix heap type clusterfuzz issue

Also shuffle HeapType helper functionality a bit

Bug: chromium:1101629, v8:7748
Change-Id: I7c27dc96f02173c73dbac7b518e7936e4e0d5bf3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2275965
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68659}

[modify] https://crrev.com/7c6ff8b143b169a6923a98bbb03f8a3d2c1f4505/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/7c6ff8b143b169a6923a98bbb03f8a3d2c1f4505/src/wasm/value-type.h

bugdroid via monorail

unread,
Jul 3, 2020, 4:16:58 AM7/3/20
to v8-re...@googlegroups.com

Comment #67 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c67


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/0215fd7232baf26d131491a039df00681b87987a

commit 0215fd7232baf26d131491a039df00681b87987a
Author: Manos Koukoutos <mano...@chromium.org>
Date: Fri Jul 03 08:15:50 2020

[wasm-gc] Implement StackEffect for GC instructions

Bug: v8:7748
Change-Id: I1c844768e09095ad85396f1752420b616048ec36
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2278473

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 4, 2020, 7:18:25 AM7/4/20
to v8-re...@googlegroups.com

Comment #68 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c68


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/0456123df1b7c35f8ac646380476174f9e3eb875

commit 0456123df1b7c35f8ac646380476174f9e3eb875
Author: Manos Koukoutos <mano...@chromium.org>
Date: Sat Jul 04 11:17:22 2020

[wasm-gc] Unittests for ref.null, ref.is_null, ref.as_non_null

Bug: v8:7748
Change-Id: I82cbe300223251342f65683522d8bfac1cbe88c7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2275968

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 6, 2020, 6:00:29 AM7/6/20
to v8-re...@googlegroups.com

Comment #69 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c69


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/36b44357efeb365d52ca0dad0b2485875ac9f263

commit 36b44357efeb365d52ca0dad0b2485875ac9f263
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Jul 06 09:56:30 2020

[wasm-gc] Unittests for br_if_null, locals, ref.eq

Bug: v8:7748
Change-Id: Ic18a9ca8fcf21cf8b3dc7028cb95df95dbabf3d1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2275970

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 6, 2020, 7:44:43 AM7/6/20
to v8-re...@googlegroups.com

Comment #70 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c70


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/857fa0e9147a2a7aa7f21c2563e16c313ea5b8ab

commit 857fa0e9147a2a7aa7f21c2563e16c313ea5b8ab
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Jul 06 11:44:20 2020

[wasm-gc] Unittests for structs

Bug: v8:7748
Change-Id: Ia88596d8016ebb63d457cfc04f4feed8da37872e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2279550
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68686}

[modify] https://crrev.com/857fa0e9147a2a7aa7f21c2563e16c313ea5b8ab/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
Jul 6, 2020, 10:43:21 AM7/6/20
to v8-re...@googlegroups.com

Comment #71 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c71


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/d2fb9f51d234bddcb19bf55995b62e95631aec79

commit d2fb9f51d234bddcb19bf55995b62e95631aec79
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Jul 06 14:42:50 2020

[wasm-gc] Array unittests

Bug: v8:7748
Change-Id: I6bb37fe506b46da4d3df35df244581357498f6b8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282527
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68693}

[modify] https://crrev.com/d2fb9f51d234bddcb19bf55995b62e95631aec79/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
Jul 6, 2020, 12:24:38 PM7/6/20
to v8-re...@googlegroups.com

Comment #72 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c72


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/577df713e0e04b831e3a5579dcaef3e79d2b8502

commit 577df713e0e04b831e3a5579dcaef3e79d2b8502
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Jul 06 16:23:40 2020

[wasm-gc] Packed field unittests

Bug: v8:7748
Change-Id: Ie9b9fce6288418b95352637a708cbbf05bd0ddc3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282528

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 7, 2020, 2:24:51 AM7/7/20
to v8-re...@googlegroups.com

Comment #73 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c73


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/78f16a0537e932b7a88cc30307de8d35696ed2c0

commit 78f16a0537e932b7a88cc30307de8d35696ed2c0
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jul 07 06:22:09 2020

[wasm-gc] Small fixes

- Remove fixed TODOs
- Fix typo
- Add a couple of types in subtyping tests

Bug: v8:7748
Change-Id: I757fa60ffe4fe9f9361cf0c4e9ca88b31747459f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282529

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 7, 2020, 9:07:28 AM7/7/20
to v8-re...@googlegroups.com

Comment #74 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c74


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/b7512d34092aeae088f6867c5d6f28b02f9a304a

commit b7512d34092aeae088f6867c5d6f28b02f9a304a
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jul 07 13:06:21 2020

[wasm-gc] Move verification tests to correct file, write macros for them

Bug: v8:7748
Change-Id: I70ecda5e43e188835166b34a42620a477a5e7997
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2282600

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 7, 2020, 9:33:00 AM7/7/20
to v8-re...@googlegroups.com

Comment #75 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c75


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/bc793ae8e50e58d30a602f07b680f97df1cfc4fb

commit bc793ae8e50e58d30a602f07b680f97df1cfc4fb
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Jul 07 13:31:41 2020

[wasm-gc] Canonicalize RTTs created with rtt.sub

When rtt.sub is called repeatedly with the same arguments, it
should return the same result. This CL introduces a cache for
previously created sub-RTTs to achieve that.

Bug: v8:7748
Change-Id: Ie6c74eedf0df6f94cd973fdb0b6b6fc0130a9c41
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2275967
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68715}

[modify] https://crrev.com/bc793ae8e50e58d30a602f07b680f97df1cfc4fb/src/heap/factory.cc
[modify] https://crrev.com/bc793ae8e50e58d30a602f07b680f97df1cfc4fb/src/objects/objects-body-descriptors-inl.h
[modify] https://crrev.com/bc793ae8e50e58d30a602f07b680f97df1cfc4fb/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/bc793ae8e50e58d30a602f07b680f97df1cfc4fb/src/wasm/wasm-objects.tq

bugdroid via monorail

unread,
Jul 7, 2020, 10:31:29 AM7/7/20
to v8-re...@googlegroups.com

Comment #76 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c76


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/8143a3e04006a9218b68ed9e5162c8194643cbc1

commit 8143a3e04006a9218b68ed9e5162c8194643cbc1
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jul 07 14:28:21 2020

[wasm-gc] Add test for disallowed packed globals

Bug: v8:7748
Change-Id: I6793133d7b05c3b8dbece80a51a7a6e5e250e8b1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284482

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 7, 2020, 3:54:58 PM7/7/20
to v8-re...@googlegroups.com

Comment #77 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c77


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/6603127440361be3a4b5cea570f848dcef72b9b2

commit 6603127440361be3a4b5cea570f848dcef72b9b2
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Tue Jul 07 19:54:02 2020

[wasm-gc] Reject WasmGC <-> JavaScript interaction

We used to expose raw WasmGC objects via the JS interface and made
use of that in our cctests. Since those objects would cause crashes
when used in JavaScript, this patch prevents such interactions, and
migrates the tests to use the C-Wasm interface instead.

Bug: v8:7748
Change-Id: I76a10663cda43c940c8c22c57c14922be9b05134
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284497
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68725}

[modify] https://crrev.com/6603127440361be3a4b5cea570f848dcef72b9b2/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/6603127440361be3a4b5cea570f848dcef72b9b2/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/6603127440361be3a4b5cea570f848dcef72b9b2/test/cctest/wasm/test-gc.cc

bugdroid via monorail

unread,
Jul 9, 2020, 9:30:25 AM7/9/20
to v8-re...@googlegroups.com

Comment #78 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c78


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/38b1bff18c066729a3020abc5fcebb980ca92fb7

commit 38b1bff18c066729a3020abc5fcebb980ca92fb7
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Thu Jul 09 13:29:48 2020

[wasm-gc] Support RTTs of generic types ("eqref" etc)

By introducing a globally known map for each generic type.
These maps are never used to allocate objects, they only
serve as sentinels for generic heap types.

Bug: v8:7748
Change-Id: I950a8c712dc1510759a833fe9122b9e9a6222dc2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288860
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68755}

[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/heap/setup-heap-internal.cc
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/objects/fixed-array.h
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/objects/foreign.h
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/roots/roots.h
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/wasm/module-instantiate.cc
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/src/wasm/wasm-objects.h
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/38b1bff18c066729a3020abc5fcebb980ca92fb7/tools/v8heapconst.py

bugdroid via monorail

unread,
Jul 9, 2020, 11:03:36 AM7/9/20
to v8-re...@googlegroups.com

Comment #79 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c79


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba

commit 01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu Jul 09 15:03:18 2020

[wasm-gc] Refactoring in preparation of generalizing WasmInitExpr

Motivation: With rtt.sub now allowed in constant expressions, we have
to generalize WasmInitExpr to be able to handle expressions with
operands. This CL prepares the ground for this change and adds no
functionality.

Changes:
- ValueType::heap_representation and HeapType::representation now
return HeapType::Representation.
- Add ValueType::is_rtt().
- WasmInitExpr:
- Make kind private. Rename val -> operator, make it private. Add
accessors.
- Rename kGlobalIndex -> kGlobalGet.
- Squash global_index and function_index into index.
- Add heap_type Immediate. Use it for RefNullConst. TypeOf in
module-decoder.cc can now fully determine the type of a
WasmInitExpr.
- Add class constructors/static method constructors for each Operator
kind.
- Delete copy constructor. WasmInitExpr will use std::unique_ptr for
its operands.
- consume_init_expr now uses a stack.
- A few minor improvements.

Bug: v8:7748
Change-Id: I3ba3ee7ac2d6bc58e887790c37110ceb80658985
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284483
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68759}

[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/asmjs/asm-parser.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/asmjs/asm-parser.h
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/module-decoder.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/module-instantiate.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/value-type.h
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/wasm-debug-evaluate.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/wasm-module-builder.h
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/wasm-module.h
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/test/cctest/wasm/test-streaming-compilation.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/test/fuzzer/wasm-fuzzer-common.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/test/unittests/wasm/module-decoder-unittest.cc
[modify] https://crrev.com/01e59c4bd9f3e1782a125edd9e3e9ee6df29f4ba/test/wasm-api-tests/hostref.cc

bugdroid via monorail

unread,
Jul 9, 2020, 2:34:09 PM7/9/20
to v8-re...@googlegroups.com

Comment #80 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c80


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/8b9c2ac3c693066183ff6f9b41ed5c07ad968d63

commit 8b9c2ac3c693066183ff6f9b41ed5c07ad968d63
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu Jul 09 18:33:38 2020

[wasm-gc] Preparation for rtt global initializers


Motivation: With rtt.sub now allowed in constant expressions, we have
to generalize WasmInitExpr to be able to handle expressions with
operands. This is the second CL that prepares the ground for this
change.

Changes:
- Remove the error from read-value-type when reading a generic rtt.
- Add validation for HeapTypeImmediate in ModuleDecoder. Use it to
validate null constants immediates, which was missing. Add tests.
- Change ValueType::name to print rtt depths as integers.
- Move global initializer building in wasm-module-builder to its own
function.

Bug: v8:7748
Change-Id: Ic041e1c7d032f2a1063a21fec1bfe96cb0d8120e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284983
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68767}

[modify] https://crrev.com/8b9c2ac3c693066183ff6f9b41ed5c07ad968d63/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/8b9c2ac3c693066183ff6f9b41ed5c07ad968d63/src/wasm/module-decoder.cc
[modify] https://crrev.com/8b9c2ac3c693066183ff6f9b41ed5c07ad968d63/src/wasm/value-type.h
[modify] https://crrev.com/8b9c2ac3c693066183ff6f9b41ed5c07ad968d63/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/8b9c2ac3c693066183ff6f9b41ed5c07ad968d63/test/unittests/wasm/module-decoder-unittest.cc

bugdroid via monorail

unread,
Jul 10, 2020, 11:56:22 AM7/10/20
to v8-re...@googlegroups.com

Comment #81 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c81


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/4f50c554bae694d56b34238f95b52f4315649dd3

commit 4f50c554bae694d56b34238f95b52f4315649dd3
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Fri Jul 10 15:54:45 2020

[wasm-gc] Add null checks to ref.cast and ref.test

Bug: v8:7748
Change-Id: I43384d10805b62745a4bc19fa0a4174e6ee94f0f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289777
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68804}

[modify] https://crrev.com/4f50c554bae694d56b34238f95b52f4315649dd3/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/4f50c554bae694d56b34238f95b52f4315649dd3/src/compiler/wasm-compiler.h
[modify] https://crrev.com/4f50c554bae694d56b34238f95b52f4315649dd3/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/4f50c554bae694d56b34238f95b52f4315649dd3/test/cctest/wasm/test-gc.cc

bugdroid via monorail

unread,
Jul 10, 2020, 3:13:06 PM7/10/20
to v8-re...@googlegroups.com

Comment #82 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c82


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/0a7d77ecba20b433891db974e5eca5957cac307a

commit 0a7d77ecba20b433891db974e5eca5957cac307a
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Fri Jul 10 19:07:50 2020

[wasm-gc] Implement rtt global initializers

Bug: v8:7748
Change-Id: I925be7942f4825aeac7364bc7c899b6bef8001c3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284985

Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Jul 15, 2020, 8:29:51 AM7/15/20
to v8-re...@googlegroups.com

Comment #83 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c83


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/52ce077470cdd1ae3006ba17c93e810c66152a6a

commit 52ce077470cdd1ae3006ba17c93e810c66152a6a
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Wed Jul 15 12:29:01 2020

[wasm-gc] Fix and complete non-trivial Global initializers

In addition to decoding them, we also have to evaluate the initializer
instructions when instantiating a module.
Drive-by fix: use "big-endian" encoding (prefix comes first) when
emitting initializers in the module builder.

Bug: v8:7748
Change-Id: Idfa0f5db298a8f6c6100fc09e1984e4a2e170e4a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2298004
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Andreas Haas <ah...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68866}

[modify] https://crrev.com/52ce077470cdd1ae3006ba17c93e810c66152a6a/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/52ce077470cdd1ae3006ba17c93e810c66152a6a/src/runtime/runtime-wasm.cc
[modify] https://crrev.com/52ce077470cdd1ae3006ba17c93e810c66152a6a/src/wasm/module-instantiate.cc
[modify] https://crrev.com/52ce077470cdd1ae3006ba17c93e810c66152a6a/src/wasm/wasm-module-builder.cc
[modify] https://crrev.com/52ce077470cdd1ae3006ba17c93e810c66152a6a/src/wasm/wasm-module.cc
[modify] https://crrev.com/52ce077470cdd1ae3006ba17c93e810c66152a6a/src/wasm/wasm-module.h
[modify] https://crrev.com/52ce077470cdd1ae3006ba17c93e810c66152a6a/src/wasm/wasm-objects.h

bugdroid via monorail

unread,
Jul 16, 2020, 9:19:16 AM7/16/20
to v8-re...@googlegroups.com

Comment #84 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c84


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/3720f9057722e1cee4b61e8477f9b292999a6c8c

commit 3720f9057722e1cee4b61e8477f9b292999a6c8c
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Thu Jul 16 13:18:35 2020

[wasm-gc] Fix: externref is not a subtype of eqref

Bug: v8:7748
Change-Id: I30eb7b08b40159e399730eef5866e1f0fbf706e1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299368
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Clemens Backes <clem...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68892}

[modify] https://crrev.com/3720f9057722e1cee4b61e8477f9b292999a6c8c/src/wasm/value-type.h
[modify] https://crrev.com/3720f9057722e1cee4b61e8477f9b292999a6c8c/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/3720f9057722e1cee4b61e8477f9b292999a6c8c/test/unittests/wasm/function-body-decoder-unittest.cc
[modify] https://crrev.com/3720f9057722e1cee4b61e8477f9b292999a6c8c/test/unittests/wasm/module-decoder-unittest.cc
[modify] https://crrev.com/3720f9057722e1cee4b61e8477f9b292999a6c8c/test/unittests/wasm/subtyping-unittest.cc

bugdroid via monorail

unread,
Jul 16, 2020, 9:33:18 AM7/16/20
to v8-re...@googlegroups.com

Comment #85 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c85


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/4d4cdaf417954acaadad065d094b30ec3208aa38

commit 4d4cdaf417954acaadad065d094b30ec3208aa38
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Thu Jul 16 13:32:25 2020

[wasm-gc] Support i31ref in ref.test/ref.cast

We must perform "smi-checks" before loading an object's map
whenever the object might be an i31ref.

Bug: v8:7748
Change-Id: I2d9839ddcb0c2e8c35b9bea38afe50d55dd084cb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299370
Reviewed-by: Andreas Haas <ah...@chromium.org>
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68893}

[modify] https://crrev.com/4d4cdaf417954acaadad065d094b30ec3208aa38/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/4d4cdaf417954acaadad065d094b30ec3208aa38/src/compiler/wasm-compiler.h
[modify] https://crrev.com/4d4cdaf417954acaadad065d094b30ec3208aa38/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/4d4cdaf417954acaadad065d094b30ec3208aa38/test/cctest/wasm/test-gc.cc

bugdroid via monorail

unread,
Jul 21, 2020, 4:35:50 AM7/21/20
to v8-re...@googlegroups.com

Comment #86 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c86


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/c108d7a0581337e2cb36b05b58ac2da14bfb2aea

commit c108d7a0581337e2cb36b05b58ac2da14bfb2aea
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jul 21 08:35:17 2020

[wasm-gc] Implement array.new_with_rtt

Also remove traces of array.new_sub

Bug: v8:7748
Change-Id: I96a922a16406960a80af0788e9cad5aa5692000a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307237
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68956}

[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/builtins/builtins-definitions.h
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/builtins/builtins-wasm-gen.cc
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/compiler/wasm-compiler.h
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/wasm/wasm-opcodes-inl.h
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/c108d7a0581337e2cb36b05b58ac2da14bfb2aea/test/common/wasm/wasm-macro-gen.h

bugdroid via monorail

unread,
Jul 21, 2020, 5:54:37 AM7/21/20
to v8-re...@googlegroups.com

Comment #87 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c87


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/0747681e41cb403f19fcf64444d37652d556b527

commit 0747681e41cb403f19fcf64444d37652d556b527
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Jul 21 09:53:31 2020

[wasm-gc][cleanup] Remove array.new, struct.new

They have been replaced with {array,struct}.new_with_rtt.

Also, rework tests that used those instructions.

Bug: v8:7748
Change-Id: I2aaccb1958bf2b8d6cad4969abc612216856393d

Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307318
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68961}

[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/builtins/builtins-definitions.h
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/builtins/builtins-wasm-gen.cc
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/builtins/wasm.tq
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/compiler/wasm-compiler.h
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/wasm/baseline/liftoff-compiler.cc
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/wasm/graph-builder-interface.cc
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/wasm/wasm-opcodes-inl.h
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/test/common/wasm/wasm-macro-gen.h
[modify] https://crrev.com/0747681e41cb403f19fcf64444d37652d556b527/test/unittests/wasm/function-body-decoder-unittest.cc

bugdroid via monorail

unread,
Jul 22, 2020, 11:05:55 AM7/22/20
to v8-re...@googlegroups.com

bugdroid via monorail

unread,
Aug 3, 2020, 3:21:49 PM8/3/20
to v8-re...@googlegroups.com

Comment #89 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c89


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/799421d55bd82b15f8c6fbadf87e8a43802682eb

commit 799421d55bd82b15f8c6fbadf87e8a43802682eb
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Mon Aug 03 19:21:24 2020

[wasm-gc] Temporary exposure of Wasm objects to JS

This is a stop-gap solution (while we wait for a proper spec)
that lets managed WasmGC objects perform round-trips through
JavaScript. On the JavaScript side, they appear as empty/opaque.

Bug: v8:7748
Change-Id: I0dd368bc14d622f3ef41871484228267359e9b5b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316306
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Tobias Tebbi <te...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69207}

[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/src/builtins/base.tq
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/src/builtins/wasm.tq
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/src/codegen/code-stub-assembler.h
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/src/init/heap-symbols.h
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/src/wasm/wasm-js.cc
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/799421d55bd82b15f8c6fbadf87e8a43802682eb/tools/v8heapconst.py

bugdroid via monorail

unread,
Aug 4, 2020, 5:54:52 AM8/4/20
to v8-re...@googlegroups.com

Comment #90 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c90


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/65530e72e1196e52e418b71c76d36e8e8e29c035

commit 65530e72e1196e52e418b71c76d36e8e8e29c035
Author: Manos Koukoutos <mano...@chromium.org>
Date: Tue Aug 04 09:51:24 2020

[wasm-gc] Test improvements/additions.

Changes:
- Fix error message typo in function-body-decoder.
- Generalize wasm test macros related to reference types.
- Change wasm-gc test API to return bytes.
- Add unittests for ref.test/cast.

Bug: v8:7748
Change-Id: I361987e0b6ac90c4e89a49a8abc125757a5fc8d0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2317319

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>

bugdroid via monorail

unread,
Aug 5, 2020, 10:40:50 AM8/5/20
to v8-re...@googlegroups.com

Comment #91 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c91


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/a61aaed9b3515819dfe61280b49582edcd7f51f1

commit a61aaed9b3515819dfe61280b49582edcd7f51f1
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Aug 05 14:38:56 2020

[wasm-gc] Allow reference types to function signatures

Changes:
- Remove restriction that function types cannot be used as ref types.
- Introduce WasmModule::has_type().
- Remove deferred signature checks in module-decoder. Instead, check if
type indices are out of bounds in consume_value_type (was bugged
before).
- Remove obsolete GetCanonicalRttIndex.
- Refine type of ref.func.
- Statically check immediate type against table type for call_indirect.
- Dynamic check for call_indirect should only happen when for funcref
(currently the only function supertype).
- Allocate a different map per function signature (with Map::Copy).
- Introduce function type equivalence and (trivial) subtyping.
- Add a few elementary tests.

Bug: v8:7748
Change-Id: If57d0bfd856c9eb3784191f3de423f53dfd26ef1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335190
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Ulan Degenbaev <ul...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69250}

[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/heap/factory.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/wasm/module-decoder.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/wasm/module-instantiate.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/wasm/wasm-module.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/wasm/wasm-module.h
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/wasm/wasm-objects.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/test/unittests/wasm/function-body-decoder-unittest.cc
[modify] https://crrev.com/a61aaed9b3515819dfe61280b49582edcd7f51f1/test/unittests/wasm/module-decoder-unittest.cc

bugdroid via monorail

unread,
Aug 10, 2020, 6:51:56 AM8/10/20
to v8-re...@googlegroups.com

bugdroid via monorail

unread,
Sep 9, 2020, 11:25:50 AM9/9/20
to v8-re...@googlegroups.com

Comment #93 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c93


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/698f8caca0a6871258c7037a31a6d1062ab00847

commit 698f8caca0a6871258c7037a31a6d1062ab00847
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Sep 09 15:25:11 2020

[wasm-gc] Implement cross-module subtyping

Additional changes:
- Add tests.
- Rename some subtyping functions.

Bug: v8:7748
Change-Id: I3635e93ea6bbab1942f927a8e414afc8efd31f69
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2389983
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69784}

[modify] https://crrev.com/698f8caca0a6871258c7037a31a6d1062ab00847/src/wasm/wasm-module.cc
[modify] https://crrev.com/698f8caca0a6871258c7037a31a6d1062ab00847/src/wasm/wasm-module.h
[modify] https://crrev.com/698f8caca0a6871258c7037a31a6d1062ab00847/src/wasm/wasm-subtyping.cc
[modify] https://crrev.com/698f8caca0a6871258c7037a31a6d1062ab00847/src/wasm/wasm-subtyping.h
[modify] https://crrev.com/698f8caca0a6871258c7037a31a6d1062ab00847/test/unittests/wasm/subtyping-unittest.cc

bugdroid via monorail

unread,
Sep 10, 2020, 10:32:41 AM9/10/20
to v8-re...@googlegroups.com

Comment #94 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c94


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/79a1468831aac6c93f1c37e960c41fe36772a61c

commit 79a1468831aac6c93f1c37e960c41fe36772a61c
Author: Manos Koukoutos <mano...@chromium.org>
Date: Thu Sep 10 14:32:00 2020

[wasm][wasm-gc][test] Improve and extend Javascript testing API

Changes:
- Add possibility to define and emit all reference types.
- Simplify function locals definition.
- Change 'type' to 'type_index' where appropiate.

Bug: v8:7748
Change-Id: Ie35a6204369e678298ee2ff2ec7c7793c5315c3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390144
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Thibaud Michaud <thib...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69814}

[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/inspector/debugger/wasm-get-breakable-locations-byte-offsets.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/inspector/debugger/wasm-scope-info-liftoff.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/inspector/debugger/wasm-scope-info.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/inspector/debugger/wasm-set-breakpoint-breaks-on-first-breakable-location.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/inspector/debugger/wasm-step-after-trap.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/inspector/debugger/wasm-stepping-liftoff.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/regress-9832.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-1014798.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-1026680.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-1027410.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-1054466.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-1074586.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-1075953.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-1079449.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-7508.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-7565.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-7579.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-763697.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-808848.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-819869.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-854050.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-864509.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-9017.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-905815.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-910824.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-917588.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-918284.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-918917.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-919308.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-922432.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-922670.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/regress/wasm/regress-922933.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/anyfunc.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/atomics.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/compare-exchange-stress.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/compare-exchange64-stress.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/exceptions-externref.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/exceptions-rethrow.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/exceptions-simd.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/exceptions.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/externref.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/futex.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/liftoff-simd-params.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/multi-value-simd.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/test-wasm-module-builder.js
[modify] https://crrev.com/79a1468831aac6c93f1c37e960c41fe36772a61c/test/mjsunit/wasm/wasm-module-builder.js

bugdroid via monorail

unread,
Sep 11, 2020, 1:45:20 PM9/11/20
to v8-re...@googlegroups.com

Comment #95 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c95


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/30c57eb930f01c3b14a48687ca7c73e38fabb75e

commit 30c57eb930f01c3b14a48687ca7c73e38fabb75e
Author: Jakob Kummerow <jkum...@chromium.org>
Date: Fri Sep 11 17:44:54 2020

[wasm-gc] More tests for type definition decoding

Bug: v8:7748
Change-Id: I463c7472ebaa5b4092b7f0e69e259abbf9c3bc06
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390769
Commit-Queue: Jakob Kummerow <jkum...@chromium.org>
Reviewed-by: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69853}

[modify] https://crrev.com/30c57eb930f01c3b14a48687ca7c73e38fabb75e/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/30c57eb930f01c3b14a48687ca7c73e38fabb75e/src/wasm/module-decoder.cc
[modify] https://crrev.com/30c57eb930f01c3b14a48687ca7c73e38fabb75e/src/wasm/value-type.h
[modify] https://crrev.com/30c57eb930f01c3b14a48687ca7c73e38fabb75e/src/wasm/wasm-limits.h
[modify] https://crrev.com/30c57eb930f01c3b14a48687ca7c73e38fabb75e/test/unittests/wasm/module-decoder-unittest.cc

bugdroid via monorail

unread,
Sep 14, 2020, 7:26:28 AM9/14/20
to v8-re...@googlegroups.com

Comment #96 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c96


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/50813c34da5b84c7225fd6616b038011cd9debe0

commit 50813c34da5b84c7225fd6616b038011cd9debe0
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Sep 14 11:25:05 2020

[wasm-gc] Typecheck function-typed imported globals

Changes:
- Add optional WasmModuleObject field to WasmGlobalObject
- Introduce DynamicTypeCheckRef. Use it to typecheck imported global
objects.
- Correctly typecheck imported WasmGlobalObjects.
- Add some testing infrastructure and one test file

Bug: v8:7748
Change-Id: Icc62d378d17696c5808d580f1ec84186c9556ec1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403248
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69872}

[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/src/wasm/c-api.cc
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/src/wasm/module-instantiate.cc
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/src/wasm/wasm-js.cc
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/src/wasm/wasm-objects-inl.h
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/src/wasm/wasm-objects.cc
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/src/wasm/wasm-objects.h
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/src/wasm/wasm-objects.tq
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/test/mjsunit/wasm/errors.js
[add] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/test/mjsunit/wasm/reference-globals.js
[modify] https://crrev.com/50813c34da5b84c7225fd6616b038011cd9debe0/test/mjsunit/wasm/wasm-module-builder.js

bugdroid via monorail

unread,
Sep 14, 2020, 9:05:09 AM9/14/20
to v8-re...@googlegroups.com

Comment #97 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c97


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/d5cecd11d14e3277fb1a2b452e31ad61b19f3d02

commit d5cecd11d14e3277fb1a2b452e31ad61b19f3d02
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Sep 14 13:04:47 2020

[wasm-gc] Fix i31ref decoding and some error messages

Bug: v8:7748
Change-Id: I4d6aef3ab503ffc9b9624b6d65d74f36141d550d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403258
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69880}

[modify] https://crrev.com/d5cecd11d14e3277fb1a2b452e31ad61b19f3d02/src/wasm/function-body-decoder-impl.h
[modify] https://crrev.com/d5cecd11d14e3277fb1a2b452e31ad61b19f3d02/src/wasm/module-decoder.cc

bugdroid via monorail

unread,
Sep 16, 2020, 10:06:05 AM9/16/20
to v8-re...@googlegroups.com

Comment #98 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c98


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/295dd2223e7784693bcc9b1e1229e829699da38a

commit 295dd2223e7784693bcc9b1e1229e829699da38a
Author: Manos Koukoutos <mano...@chromium.org>
Date: Wed Sep 16 14:04:49 2020

[wasm-gc] Add module argument to IsJSCompatibleSignature

This CL is non-functional by itself and it prepares extending
IsJSCompatibleSignature to wasm-gc types.

Bug: v8:7748
Change-Id: I0bf02d55e83ed020ef63b4eedf641d9405c3a689
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413251

Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69947}

[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/compiler/wasm-compiler.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/compiler/wasm-compiler.h
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/c-api.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/function-compiler.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/function-compiler.h
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/module-compiler.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/module-instantiate.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/wasm-debug-evaluate.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/wasm-objects.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/wasm-opcodes.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/src/wasm/wasm-opcodes.h
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/test/cctest/wasm/test-c-wasm-entry.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/test/cctest/wasm/test-gc.cc
[modify] https://crrev.com/295dd2223e7784693bcc9b1e1229e829699da38a/test/cctest/wasm/wasm-run-utils.cc

bugdroid via monorail

unread,
Sep 21, 2020, 10:54:13 AM9/21/20
to v8-re...@googlegroups.com

Comment #99 on issue 7748 by bugdroid: Tracking issue for WebAssembly Managed Objects / GC
https://bugs.chromium.org/p/v8/issues/detail?id=7748#c99


The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/dfd028c16202e825ba9b0f1a9101d45901a8aa0d

commit dfd028c16202e825ba9b0f1a9101d45901a8aa0d
Author: Manos Koukoutos <mano...@chromium.org>
Date: Mon Sep 21 14:53:47 2020

[wasm-gc] Fix empty structs bug

Drive-by: add const modifier to some StructType fields

Bug: v8:7748
Change-Id: Ic0b4bb51ed01502f19d082c669683f69b85e76e7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2419015

Commit-Queue: Manos Koukoutos <mano...@chromium.org>
Reviewed-by: Jakob Kummerow <jkum...@chromium.org>
It is loading more messages.
0 new messages