- 06 Sep, 2021 1 commit
-
-
Thibaud Michaud authored
Update the behavior of 'delegate' according to: https://github.com/WebAssembly/exception-handling/issues/176 Summary: delegate can target any block, which just rethrows to the next outer try/catch. R=clemensb@chromium.org Bug: v8:8091 Change-Id: I967db9ab1cbb1a15b2c5e0a1a20f64fa19a3f769 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140603 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#76677}
-
- 03 Aug, 2021 1 commit
-
-
Thibaud Michaud authored
Also introduce a separate error type for WebAssembly.Exception, since the properties should not be added to RuntimeError. R=jkummerow@chromium.org Bug: v8:11992 Change-Id: I8f4ae0da9a95184366e07dc43e58a5a9ff4382ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3055304Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#76061}
-
- 29 Jul, 2021 1 commit
-
-
Thibaud Michaud authored
The JS API constructor was renamed to "WebAssembly.Tag" to match the spec: https://github.com/WebAssembly/exception-handling/issues/159 Rename "exception" to "tag" throughout the codebase for consistency with the JS API, and to match the spec terminology (e.g. "tag section"). R=clemensb@chromium.org,nicohartmann@chromium.org Bug: v8:11992 Change-Id: I63f9f3101abfeefd49117461bd59c594ca5dab70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3053583Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75994}
-
- 14 Jun, 2021 1 commit
-
-
Thibaud Michaud authored
Relevant links: https://github.com/WebAssembly/exception-handling/issues/153 https://github.com/WebAssembly/exception-handling/pull/156 R=clemensb@chromium.org Bug: v8:8091 Change-Id: I0deeb9665c6648e643d0aa4f310b7676e1c2fa32 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2959624 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75135}
-
- 11 Jun, 2021 1 commit
-
-
Thibaud Michaud authored
A try block may have no handler. Relevant links: https://github.com/WebAssembly/exception-handling/issues/131 https://github.com/WebAssembly/exception-handling/pull/157 R=clemensb@chromium.org Bug: v8:8091 Change-Id: Ia429762714dd87ed6b043f95c3496c65aaa8495f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949100 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75100}
-
- 01 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883}
-
- 03 May, 2021 1 commit
-
-
Thibaud Michaud authored
R=jkummerow@chromium.org Change-Id: Ibc772d81765e10331fa8753e8b7dfd3d18509819 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859864 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#74333}
-
- 22 Mar, 2021 1 commit
-
-
Manos Koukoutos authored
This is a more canonical type name, and is in line with {kVoidCode}. Change-Id: Iaae9524b6fb6ecaafd63ce81cf30e3d01ca3e525 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2775565 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#73557}
-
- 17 Mar, 2021 1 commit
-
-
Jakob Kummerow authored
When dropping the exception from the stack, we have to take locals into account when computing the right stack slot. Fixed: chromium:1187836 Change-Id: I76acb1e4dc50992524123cc369dea8e51242164c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2764749 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73469}
-
- 09 Mar, 2021 1 commit
-
-
Thibaud Michaud authored
Push the caught exception on the value stack, so that we can access it from an inner catch block and rethrow it. R=clemensb@chromium.org Bug: v8:11453 Change-Id: Ibc5e653a07c3e4436e252c001b53bc2d3402abc9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739974Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73295}
-
- 17 Feb, 2021 1 commit
-
-
Thibaud Michaud authored
'catch_all' and 'else' use distinct opcodes now. R=clemensb@chromium.org Bug: v8:8091 Change-Id: If07e46b9ea23068953db1765d10c7e3746d21d99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699258 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72810}
-
- 16 Feb, 2021 1 commit
-
-
Thibaud Michaud authored
Implicitly rethrow the exception when we reach the end of a try..unwind..end. Also make it a validation error to rethrow an exception caught by an unwind block. R=clemensb@chromium.org Bug: v8:8091 Change-Id: Ia149d2e81b1fbfa9209047b35ff0c9fedc1b8895 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2696662 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72785}
-
- 04 Feb, 2021 1 commit
-
-
Thibaud Michaud authored
In the latest spec, catch_all is encoded as 0x05. This is the same opcode as "else", but they do not conflict because "else" is not valid in the context of a try block. The 0x0a opcode now corresponds to the "unwind" instruction, which currently has the same semantics as "catch_all". R=clemensb@chromium.org Bug: v8:11392 Change-Id: Ie9cd06c9a2001a02d8bea5be7a3c016e3a58ee3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2674007 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#72531}
-
- 29 Jan, 2021 1 commit
-
-
Thibaud Michaud authored
The delegate instruction is invalid in the following cases: - When the target is not a try block or the function block, - When the instruction is inside a catch handler of the target. R=clemensb@chromium.org Bug: v8:8091 Change-Id: Ic59e8314982166863ba2078e2b3b39e3ba488a74 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2656318Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72428}
-
- 15 Jan, 2021 1 commit
-
-
Thibaud Michaud authored
Exception ref is not part of the latest exception handling proposal. Remove the corresponding value type, the type opcode and some obsolete tests. R=clemensb@chromium.org Bug: v8:8091 Change-Id: I5e068ba3426f4b56b90ef056193acdd8cc8fe7d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2632599Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72116}
-
- 08 Jan, 2021 1 commit
-
-
Thibaud Michaud authored
Delegating to the current control depth is valid and rethrows the exception to the caller. See https://github.com/WebAssembly/exception-handling/pull/143. R=clemensb@chromium.org CC=aheejin@chromium.org Bug: v8:8091 Change-Id: I6f14663751736ec6de29eefebfccdf5eb9e955e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2617081 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71974}
-
- 15 Dec, 2020 1 commit
-
-
Thibaud Michaud authored
Drive-by: remove reference to BrOnExnNull in wasm-module-builder.js. R=clemensb@chromium.org CC=aheejin@chromium.org Bug: v8:8091 Change-Id: I42821b21c32fe8bf3410e75cf81bbff9678d3fa9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2575059 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71766}
-
- 03 Dec, 2020 1 commit
-
-
Thibaud Michaud authored
First step towards the new exception handling proposal: https://github.com/WebAssembly/exception-handling/issues/125 This is essentially a revert of: "[wasm] Switch to new 'catch' and 'br_on_exn' proposal." The changes are: - "catch" instruction takes a tag immediate, - "rethrow" instruction takes a label immediate, - Add "catch_all" instruction, - Remove "br_on_exn" instruction, - Do not push exceptions on the stack, only the encoded values R=clemensb@chromium.org CC=aheejin@chromium.org Bug: v8:8091 Change-Id: Iea4d8d5a5d3ad50693f645e93c13e8de117aa884 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484514 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71602}
-
- 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}
-
- 27 Apr, 2020 1 commit
-
-
Clemens Backes authored
This adds a test which I suspected would fail, but luckily it doesn't. The idea is to catch a proper wasm exception in JS, then construct a new exception, but set the catched exception as the prototype. My suspicion was that we would still handle that new exception like a wasm exception, since the `WasmExceptionGetTag` and `WasmExceptionGetValues` runtime functions to a standard property lookup, which includes a prototype walk. Interestingly, the prototype walk is already skipped automatically when loading private symbols, so the implementation already supports this case correctly. Let's still add this test to have coverage for this case. R=jkummerow@chromium.org CC=aheejin@chromium.org Bug: v8:8091 Change-Id: Idf9944cf47f96cca38e9678e9200bf03a39ea126 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2167438Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67391}
-
- 23 Mar, 2020 1 commit
-
-
Clemens Backes authored
The spec was changed such that traps are not catchable in wasm: https://github.com/WebAssembly/exception-handling/pull/93 This CL implements this in V8 by adding a private symbol as a property to all uncatchable exceptions. It also adds a number of tests. R=jkummerow@chromium.org CC=aheejin@chromium.org Bug: v8:10194 Change-Id: I498531762e8876f809d3b8aeb72ccc053e0e3cd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2113375 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#66824}
-
- 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}
-
- 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}
-
- 09 Oct, 2018 2 commits
-
-
Michael Starzinger authored
This adds support for multiple catch blocks being attached to a single try block. The implemented semantics are that type checks are performed in order from top to bottom. Note that multiple catch blocks of the same type are not prohibited and will be accepted, making the second such block essentially unreachable. The current proposal neither explicitly allows nor prohibits it. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: I31e7a07a7cffdd909a58342e00f05e52ed1a3182 Reviewed-on: https://chromium-review.googlesource.com/c/1270591Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56478}
-
Michael Starzinger authored
This adds support to wire control flow of catch-all expressions into an existing try-catch cascade. Note that multiple typed catch blocks are not yet supported, only one typed catch block followed by one catch-all block is supported. In case the explicit catch-all block is missing, we emulate the correct semantics by internally always emitting a catch-all containing a simple rethrow instruction. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-catchall BUG=v8:8091 Change-Id: I6b29a98c4f1a558fabe6012f4ba6c7b7d43529bb Reviewed-on: https://chromium-review.googlesource.com/c/1270585Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56476}
-
- 17 Sep, 2018 4 commits
-
-
Michael Starzinger authored
This is a reland of a4105a43 Original change's description: > [wasm] Implement handling of exported/imported exceptions. > > This implements the proper semantics for matching exported/imported > exceptions by using the notion of an "exception tag" that is global to > the system. It can be used to match exceptions in one module against > exceptions declared and/or thrown in another module (or instance). > > R=clemensh@chromium.org > TEST=mjsunit/wasm/exceptions-shared > BUG=v8:8091 > > Change-Id: I37586d7be5d5e6169b3418dfbc415b26dd4750dd > Reviewed-on: https://chromium-review.googlesource.com/1226976 > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55940} Bug: v8:8091 Change-Id: Ib85f099b26a8323a8a00299b5aaeb05aaff3c3c6 Reviewed-on: https://chromium-review.googlesource.com/1227975Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55959}
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: I93227c29bb3591983f1901577afdf305637beb70 Reviewed-on: https://chromium-review.googlesource.com/1226803 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55954}
-
Leszek Swirski authored
This reverts commit a4105a43. Reason for revert: GC stress failures (https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Mac64%20GC%20Stress/3097) Original change's description: > [wasm] Implement handling of exported/imported exceptions. > > This implements the proper semantics for matching exported/imported > exceptions by using the notion of an "exception tag" that is global to > the system. It can be used to match exceptions in one module against > exceptions declared and/or thrown in another module (or instance). > > R=clemensh@chromium.org > TEST=mjsunit/wasm/exceptions-shared > BUG=v8:8091 > > Change-Id: I37586d7be5d5e6169b3418dfbc415b26dd4750dd > Reviewed-on: https://chromium-review.googlesource.com/1226976 > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55940} TBR=mstarzinger@chromium.org,clemensh@chromium.org Change-Id: I5ef19ea3b67f470f2d7807810110d75415ba9ed6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8091 Reviewed-on: https://chromium-review.googlesource.com/1227933Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#55942}
-
Michael Starzinger authored
This implements the proper semantics for matching exported/imported exceptions by using the notion of an "exception tag" that is global to the system. It can be used to match exceptions in one module against exceptions declared and/or thrown in another module (or instance). R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-shared BUG=v8:8091 Change-Id: I37586d7be5d5e6169b3418dfbc415b26dd4750dd Reviewed-on: https://chromium-review.googlesource.com/1226976 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55940}
-
- 04 Sep, 2018 3 commits
-
-
Michael Starzinger authored
This fixes an off-by-one in the ordering restriction check for exception sections in a module. It also adds proper testing for exception handling of indirect calls. This in turn adds a table section that triggers the aforementioned bug. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions,unittests/WasmModuleVerifyTest BUG=v8:8091 Change-Id: Ie44ad4dee1b0c623f069fca7661c4282492b52d6 Reviewed-on: https://chromium-review.googlesource.com/1203993Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55615}
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: I866430e1f3d3e7b93001a4375a869f19de75e65e Reviewed-on: https://chromium-review.googlesource.com/1203954Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55605}
-
Michael Starzinger authored
This fixes exception creation (by the WebAssembly throw operation) so that it is not observable by JavaScript. Internal properties are now stored with symbol names instead of string names, which also prevents them from being accessed or monkey-patched directly by JavaScript. R=clemensh@chromium.org TEST=mjsunit/regress/wasm/regress-8094 BUG=v8:8094 Change-Id: I33cb27f4373114cd4db28d9aef23560093e55242 Reviewed-on: https://chromium-review.googlesource.com/1203951 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#55602}
-
- 30 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This adds experimental support for an 'except_ref' value type for caught exceptions as per the exception handling proposal. In the current for it is only allowed to have such types in the stack or in a local, support for having it as part of any signature was left out. The default value for a local of type 'except_ref' is the 'ref_null' value for now. Since this value cannot escape a wasm function, the concrete value is not actually observable. R=ahaas@chromium.org TEST=unittests/LocalDeclDecoderTest.ExceptRef,mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: I7bd65274327a833262f8749cbe0e24e737f6e0c1 Reviewed-on: https://chromium-review.googlesource.com/1196510Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55526}
-
- 29 Aug, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure that direct and indirect calls get proper {IfException} projections attached to them if they appear within a try-block. It also re-enables most of the corresponding test cases for this. R=ahaas@chromium.org TEST=mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: I111634759651ed47f76850e80c8754751310001b Reviewed-on: https://chromium-review.googlesource.com/1195365 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#55483}
-
- 28 Aug, 2018 2 commits
-
-
Michael Starzinger authored
R=ahaas@chromium.org TEST=mjsunit/wasm/exceptions Change-Id: I6301cf9bcb94e972f4e7eb3d096c650a5afc55ca Reviewed-on: https://chromium-review.googlesource.com/1190343 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#55453}
-
Michael Starzinger authored
R=ahaas@chromium.org TEST=mjsunit/wasm/exceptions BUG=v8:8091 Change-Id: If811fdffe31df3ca94c70ff910603fab8d7e1ad4 Reviewed-on: https://chromium-review.googlesource.com/1190303 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#55442}
-
- 25 Sep, 2017 1 commit
-
-
Karl Schimpf authored
This is a second attempt at landing CL 644866 which was reverted by CL 667019. Extends the current implementation of WASM exceptions to be able to throw exceptions with values (not just tags). A JS typed (uint_16) array is used to hold the thrown values. This allows all WASM types to be stored (i32, i64, f32, and f64) as well as be inspected in JS. The previous CL was reverted because the WASM compiler made calls to run time functions with tagged objects, which must not be done. To fix this, all run time calls use the thread-level isolate to hold the exception being processed. Bug: v8:6577 Change-Id: I4b1ef7e2847b71a2fab8e9934a0531057db9de63 Reviewed-on: https://chromium-review.googlesource.com/677056 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48148}
-