- 10 Sep, 2020 1 commit
-
-
Manos Koukoutos authored
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 <manoskouk@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69814}
-
- 23 Jun, 2020 1 commit
-
-
Andreas Haas authored
Due to recent spec changes, this CL removes the type immediate of ref.is_null again. Instead we check if the type of the input parameter is nullable. R=jkummerow@chromium.org Bug: v8:10556 Change-Id: If07d30fe4dd27664be7774422573b2ab2b0dfa20 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2247654 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68484}
-
- 10 Jun, 2020 1 commit
-
-
Manos Koukoutos authored
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 <manoskouk@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#68283}
-
- 09 Jun, 2020 1 commit
-
-
Manos Koukoutos authored
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 <clemensb@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#68270}
-
- 03 Jun, 2020 2 commits
-
-
Andreas Haas authored
All subtyping has been removed from the reference-types proposal. This CL implements this proposal change now in V8. R=manoskouk@chromium.org Bug: v8:10556 Change-Id: I08ef064952278e03ea655461fa9f0c96426157c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222345 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68152}
-
Andreas Haas authored
With recent changes to the anyref proposal, null refs now have a type immediate which declares the type of a null ref constant. Likewise, the RefIsNull instruction is type aware now. This CL addresses these proposal changes now. R=jkummerow@chromium.org Bug: v8:10556 Change-Id: I810dfa3a4ab4389afc9639f897cee5d43e9b62cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215172 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68141}
-
- 23 Mar, 2020 2 commits
-
-
Clemens Backes authored
The behaviour was clarified in the spec: https://github.com/WebAssembly/exception-handling/pull/97 br_on_exn (which was done in another CL) and also rethrow should trap on nullptr. This CL implements this by an explicit check in the builtin called for rethrow. R=jkummerow@chromium.org CC=aheejin@chromium.org Bug: v8:10128 Change-Id: Icb0f4e54991b3385917bf183efa825048db4cb82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2115430 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66827}
-
Clemens Backes authored
The behaviour was clarified in the spec: https://github.com/WebAssembly/exception-handling/pull/97 br_on_exn (and also rethrow, which will be added in another CL) should trap on nullptr. This CL implements this by an explicit check on each br_on_exn (within {GetExceptionTag}). This check will be redundant if several br_on_exn follow each other. Since also the runtime call for {GetExceptionTag} is redundant, and also the fact that we do a runtime call is suboptimal, I consider the whole implementation prototypical for now anyway. R=jkummerow@chromium.org CC=aheejin@chromium.org Bug: v8:10128 Change-Id: I234c3183f93fe0884aadd2ab6dbd6c2b7a07c660 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2113381 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66826}
-
- 16 Oct, 2019 1 commit
-
-
Michael Starzinger authored
This extends existing table support to be able to store 'exnref' in addition to 'anyref' types. Tools can use this to maintain data structures for exception packages. R=ahaas@chromium.org TEST=mjsunit/wasm/exceptions-anyref BUG=v8:8091 Change-Id: Iccbcfdc328db81a366921bcdd98c2256f66e7fc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781046 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64323}
-
- 08 Oct, 2019 1 commit
-
-
Clemens Backes authored
This brings our constants back in line with the changed spec text. We already use kExprTableGet and kExprTableSet, but for locals and globals we still use the old wording. This renaming is mostly mechanical. PS1 was created using: ag -l 'kExpr(Get|Set|Tee)Local' src test | \ xargs -L1 sed -E 's/kExpr(Get|Set|Tee)Local\b/kExprLocal\1/g' -i PS2 contains manual fixes. R=mstarzinger@chromium.org Bug: v8:9810 Change-Id: I1617f1b2a100685a3bf56218e76845a9481959c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847354Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64161}
-
- 15 Jul, 2019 1 commit
-
-
Michael Starzinger authored
Also see: https://github.com/WebAssembly/exception-handling/pull/84 R=ahaas@chromium.org BUG=v8:8091 Change-Id: Ibcf9a2bba019cbd634884cb217e1507231a5bcf8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1700077Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#62717}
-
- 24 Apr, 2019 1 commit
-
-
Michael Starzinger authored
This extends the existing test coverage of interactions between the exception handling and the reference type proposal. Now "any-func" and "except-ref" can both be encoded as an exception value. Missing switch cases have been added. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-anyref[-interpreter] BUG=v8:8091,v8:7581 Change-Id: Ie2e9819fe66b4daab623390f27bb19007131f619 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1581600Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60977}
-
- 30 Jan, 2019 1 commit
-
-
Sven Sauleau authored
We noticed that almost every call site were loading both files, the split isn't necessary anymore. In some message tests, removed the absolute line number to allow future changes. Bug: v8:8726 Change-Id: I8527f0a1ecfa685aa01a5e2f5f47ddf1cb13a545 Reviewed-on: https://chromium-review.googlesource.com/c/1446452 Commit-Queue: Sven Sauleau <ssauleau@igalia.com> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59220}
-
- 15 Jan, 2019 1 commit
-
-
Michael Starzinger authored
This switches the experimental exception handling implementation to the new proposal where 'catch' blocks behave in a catch-all fashion and a new 'br_on_exn' operation is used to check for a certain exception type and extract the exception values on a match. R=clemensh@chromium.org TEST=unittests/FunctionBodyDecoderTest,mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: Ib12ba28b3aa2a7d831312a83abcb00bf56d0adc3 Reviewed-on: https://chromium-review.googlesource.com/c/1409431 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58832}
-
- 10 Dec, 2018 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Ie4f40314eb41957c6983796e43eeefe655458160 Reviewed-on: https://chromium-review.googlesource.com/c/1367806 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58118}
-
- 25 Oct, 2018 1 commit
-
-
Michael Starzinger authored
This adds support for having reference type values (i.e. anyref) stored in an exception. It is the natural combination of the reference type proposal and the exception handling proposal. Note that this also introduces support for having write barriers in generated WasmCode, as this is the first time we are storing references within generated code. Such write barriers will be needed for other uses of reference types (e.g. mutable global) regardless. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-anyref BUG=v8:8341 Change-Id: I1211d4a850954622cb873eede0b4024fecc3dd8b Reviewed-on: https://chromium-review.googlesource.com/c/1296484 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#56995}
-