- 09 Aug, 2021 1 commit
-
-
Manos Koukoutos authored
We currently print reference type indices as unsigned LEB. This will not work properly for large indices (>=64), as they will be interpreted as negative indices when read back. They may also alias with builtin types. In this CL, we fix this by defining builtin types as negative numbers. We add positive byte constants that can be used in function bodies. We adapt wasm-module-builder and tests to the above changes. Bug: v8:7748 Change-Id: I4dfaa65d4cbf77a6731ca2283148bd842ea5c56b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3080569 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#76176}
-
- 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}
-
- 23 Mar, 2021 1 commit
-
-
Thibaud Michaud authored
R=ahaas@chromium.org Bug: v8:1189651 Change-Id: Ic414954101f99ac9d51af505f094cb03f0e85d29 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773810Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73613}
-
- 26 Jan, 2021 1 commit
-
-
Andreas Haas authored
The GC requires all slots in a stack frame that store a reference to be aligned. This alignment was not provided for spill slots in OOL code. R=thibaudm@chromium.org Change-Id: I17492362318623aecc4c54635407d0c8badf3d36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2649025Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72324}
-
- 18 Jan, 2021 1 commit
-
-
Andreas Haas authored
There was a bug that only the last local with a reference type got initialized to null, all other locals kept the initial value of 0. This CL fixes this bug. Additionally this CL optimizes the code slightly. Before this CL, the null reference was loaded from the instance for every local with reference type. Now the null reference is cached after the first load and then used for all other locals. R=thibaudm@chromium.org Bug: chromium:1167587 Change-Id: Ic11fc76b650e6daa029491154744fc132778f70d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2632695 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72139}
-
- 16 Dec, 2020 1 commit
-
-
Andreas Haas authored
Registers are spilled differently on arm and intel platforms. Additionally, on arm64 registers are spilled with padding. Therefore the code for safepoint information for spilled registers is platform- dependent now. Additionally the alignment of the frame size is done before the out-of-line code now, so that the safepoint indices can be calculated correctly for spilled registers in out-of-line code. Finally, some code was unimplemented on ia32 and arm, which I added now. R=thibaudm@chromium.org Bug: v8:7581, v8:10929 Change-Id: Ia9b824dfc74cafa9ec3cc0d308fb18b485afd715 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2584952 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#71786}
-
- 30 Nov, 2020 1 commit
-
-
Andreas Haas authored
Safepoints encode which slots in a stack frame store references when a function is called. Safepoints for normal function calls in Liftoff were already implemented before. With this CL, a safepoint for the runtime call in a stack check is emitted. R=thibaudm@chromium.org, clemensb@chromium.org Bug: v8:7581 Change-Id: Iacb8b15559502adb7622935edb0cfa7ca03d634e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563266 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71494}
-
- 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 1 commit
-
-
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}
-
- 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}
-
- 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}
-
- 25 Jan, 2019 1 commit
-
-
Andreas Haas authored
Anyref parameters can exist across GC runs. Therefore the GC has to know where anyref parameters are on the stack so that it can mark them in its marking phase, and update them in the compaction phase. Already in a previous CL we grouped all anyref parameters so that they can be found more easily in a stack frame, see https://crrev.com/c/1371827. In this CL we implement the stack scanning itself. Note that anyref parameters are not scanned while iterating over the caller's frame (to which they actually belong), but while iterating over the callee's frame. The reason is that with tail-calls, only the callee knows how many tagged stack parameters (aka anyref parameters) there are. R=mstarzinger@chromium.org also-by=mstarzinger@chromium.org Bug: v8:7581 Change-Id: I7a41ce11d06c0d420146fdb0bb8d5606f28824d7 Reviewed-on: https://chromium-review.googlesource.com/c/1424955 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59099}
-
- 23 Jan, 2019 1 commit
-
-
Andreas Haas authored
For the reference types anyref, anyfunc, and nullref, there exist sub-typing rules. The spec says A reference type reftype1 matches a reference type reftype2 if and only if: * Either both reftype1 and reftype2 are the same. * Or reftype1 is nullref. * Or reftype2 is anyref. This CL introduces the type nullref for ref-null, and implements the sub-typing rules in the function-body-decoder. Note that because of the sub-typing check validation performance may regresses. In that case we can optimize the sub-typing check. R=titzer@chromium.org, clemensh@chromium.org Bug: v8:7581 Change-Id: I55bab72a109f3374da3770d141b0fc8067aad8b2 Reviewed-on: https://chromium-review.googlesource.com/c/1430061 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59043}
-
- 11 Dec, 2018 1 commit
-
-
Andreas Haas authored
These are some tests I thought were missing. I wrote another test which crashes because of missing safepoint maps. I will add it in a separate CL which includes also the implementation. R=herhut@chromium.org Bug: v8:7581 Change-Id: Ibcc3b9ddab0f95580eb31fe78c84a26186a74db5 Reviewed-on: https://chromium-review.googlesource.com/c/1370039Reviewed-by:
Stephan Herhut <herhut@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58159}
-
- 03 Sep, 2018 1 commit
-
-
Michael Starzinger authored
R=titzer@chromium.org TEST=mjsunit/wasm/anyref Change-Id: Ia79c78038f6cc92f657ee1b48474323bde981155 Reviewed-on: https://chromium-review.googlesource.com/1201784Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55583}
-
- 10 Apr, 2018 2 commits
-
-
Andreas Haas authored
R=titzer@chromium.org Bug: v8:7581 Change-Id: I30482ddb95a5c8501f1764922cc579855c209fdf Reviewed-on: https://chromium-review.googlesource.com/998162 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52502}
-
Andreas Haas authored
R=titzer@chromium.org Bug: v8:7581 Change-Id: I3a1fcffd3429907bcf9f92a904ab30568e6d4d07 Reviewed-on: https://chromium-review.googlesource.com/998914 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52501}
-
- 09 Apr, 2018 1 commit
-
-
Andreas Haas authored
R=titzer@chromium.org Bug: v8:7581 Change-Id: Ib100a45ad51ec6b6a0400cfe97fe918089c04ead Reviewed-on: https://chromium-review.googlesource.com/998095 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52468}
-