- 28 Jul, 2020 1 commit
-
-
evih authored
This generic wrapper builtin is currently used only when the wasm function has no parameters and no return value. Added a new V8 flag to use this generic wrapper. Also added a JS test function for this generic wrapper. Bug: v8:10701 Change-Id: Id8cd1771f26922927363b715d8a6ffd384a143ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2307240Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Eva Herencsárová <evih@google.com> Cr-Commit-Position: refs/heads/master@{#69097}
-
- 24 Jul, 2020 1 commit
-
-
Ng Zhi An authored
Using uint8_t[] causes decay to pointer issue, which manifests in copying garbage values in the call to WriteLittleEndianValue. Change it to use a std::array, which doesn't have the decaying behavior. Also add a regression test from comment#6 of the linked bug. Bug: v8:10731 Change-Id: I4a1ca69fe99806642e9931625ca7aeab6663f955 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2316465Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69052}
-
- 22 Jul, 2020 2 commits
-
-
Maya Lekova authored
This reverts commit d8f8a7e2. Reason for revert: Breaks code_serializer variant - https://cr-buildbucket.appspot.com/build/8874070652992164976 Original change's description: > Reland "[flags] warn about contradictory flags" > > This is a reland of b8f91666 > Difference to previous CL: Additional functionality to specify > incompatible flags based on GN variables and extra-flags, used > to fix the issues that came up on the waterfall. > > This also changes the rules regarding repeated flags: While > explicitly repeated flags are allowed for boolean values as long > as they are identical, repeated flags or explicit flags in the > presence of an active implication are disallowed for non-boolean > flags. The latter simplifies specifying conflict rules in > variants.py. Otherwise a rule like > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { > "--gc-interval=*": ["--gc-interval=*"], > } > > wouldn't work because specifying the same GC interval twice > wouldn't actually count as a conflict. This was an issue with > test/mjsunit/wasm/gc-buffer.js, which specifies > --gc-interval=500 exactly like the extra flag by the stress bot. > > Also, this now expands contradictory flags checking to d8 flags > for consistency. > > Original change's description: > > [flags] warn about contradictory flags > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > > > Bug: v8:10577 > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Reviewed-by: Tamer Tas <tmrts@chromium.org> > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#68168} > > Bug: v8:10577 > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68989} TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I7969065b0edbc463a94e530485bc2ab623d77b62 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10577 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2312782Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#68992}
-
Tobias Tebbi authored
This is a reland of b8f91666 Difference to previous CL: Additional functionality to specify incompatible flags based on GN variables and extra-flags, used to fix the issues that came up on the waterfall. This also changes the rules regarding repeated flags: While explicitly repeated flags are allowed for boolean values as long as they are identical, repeated flags or explicit flags in the presence of an active implication are disallowed for non-boolean flags. The latter simplifies specifying conflict rules in variants.py. Otherwise a rule like INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = { "--gc-interval=*": ["--gc-interval=*"], } wouldn't work because specifying the same GC interval twice wouldn't actually count as a conflict. This was an issue with test/mjsunit/wasm/gc-buffer.js, which specifies --gc-interval=500 exactly like the extra flag by the stress bot. Also, this now expands contradictory flags checking to d8 flags for consistency. Original change's description: > [flags] warn about contradictory flags > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > Bug: v8:10577 > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68168} Bug: v8:10577 Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68989}
-
- 21 Jul, 2020 1 commit
-
-
Arnaud Robin authored
On desktop systems, we use a very basic tiering strategy: Everything is initially compiled with Liftoff, and once that is done, the module can start being used. Concurrently to the execution, we re-compile all code with TurboFan, and hot-swap each function once TurboFan finishes. We should start using a more dynamic strategy where each function is tiered-up when judged necessary. This change will then tier-up each liftoff function once it has been called 5 times. I then added a counter in the native module, that is updated directly from Liftoff code, and a runtime call is then made when the counter reaches the goal. R=clemensb@chromium.org CC=thibaudm@chromium.org Bug: v8:10728 Change-Id: I8dc2b02fdff8d97781bb1cf496886594b3d7f644 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306803 Commit-Queue: Arnaud Robin <arobin@google.com> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68971}
-
- 20 Jul, 2020 1 commit
-
-
Thibaud Michaud authored
The CanTailCall check only passes if the return locations are the same in the caller and the callee. However, stack returns are expected to be at a different offset depending on the stack space reserved for parameters. R=clemensb@chromium.org Bug: v8:7431 Change-Id: Iaac15fce889d6cd7d1ac88f320a872202281fb5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2289789Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#68933}
-
- 30 Jun, 2020 1 commit
-
-
Clemens Backes authored
It seems that the mix of atomic and non-atomic updates to the same memory location is not working correctly. One fix is changing all memory updates to be atomic. Another fix is removing the non-atomic access that happens while the workers are already running (using atomic accesses). This CL implements the latter. R=ahaas@chromium.org Bug: v8:10647, v8:10650 Change-Id: I84b4f3f442b6be3c4ea6e51962a523f443f5e43b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2273133Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68603}
-
- 25 Jun, 2020 1 commit
-
-
Andreas Haas authored
This is a reland of f7a1932e There was a wpt test in Chrome that expected the incorrect behavior. I disable the test in https://crrev.com/c/2264418 so that we can land the fix here. Original change's description: > [wasm] Re-exported globals preserve their identity > > V8 fails a recently added spec test that when an imported global get > re-exported, it should preserve its identity. This CL fixes the behavior > in V8. > > Drive-by change: fix the object printer of globals: a global which > stores a reference type only has a tagged buffer, a global which stores > a value type only has an untagged buffer. > > R=clemensb@chromium.org > > Bug: v8:10556 > Change-Id: I949d147fe4395610cfec6cf60082e1faecb23036 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235702 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68513} Bug: v8:10556 Change-Id: I8e1b08fc9f72dde166cba167e6e320e714796769 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2264097Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68552}
-
- 24 Jun, 2020 2 commits
-
-
Shu-yu Guo authored
This reverts commit f7a1932e. Reason for revert: Breaking wasm wpt tests: https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/5408 Original change's description: > [wasm] Re-exported globals preserve their identity > > V8 fails a recently added spec test that when an imported global get > re-exported, it should preserve its identity. This CL fixes the behavior > in V8. > > Drive-by change: fix the object printer of globals: a global which > stores a reference type only has a tagged buffer, a global which stores > a value type only has an untagged buffer. > > R=clemensb@chromium.org > > Bug: v8:10556 > Change-Id: I949d147fe4395610cfec6cf60082e1faecb23036 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235702 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68513} TBR=ahaas@chromium.org,clemensb@chromium.org Change-Id: I06eb1996cafe7d4e93a7e59d21679fea239cf961 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10556 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2264956Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#68528}
-
Andreas Haas authored
V8 fails a recently added spec test that when an imported global get re-exported, it should preserve its identity. This CL fixes the behavior in V8. Drive-by change: fix the object printer of globals: a global which stores a reference type only has a tagged buffer, a global which stores a value type only has an untagged buffer. R=clemensb@chromium.org Bug: v8:10556 Change-Id: I949d147fe4395610cfec6cf60082e1faecb23036 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235702 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68513}
-
- 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}
-
- 22 Jun, 2020 2 commits
-
-
Deepti Gandluri authored
Adjust atomics.wait, atomics.notify semantics for when they are used with non-shared Wasm memory to mirror the spec change introduced in: https://github.com/WebAssembly/threads/pull/147. This does not need to be gated by the flag here, as this will only decode if the flag is enabled. Bug: v8:9921 Change-Id: I7f2e018fed6bd131ad4c386def1e838626c28a4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2256863Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#68468}
-
Clemens Backes authored
This addresses a review comment from https://github.com/WebAssembly/spec/pull/1214. R=ahaas@chromium.org Change-Id: Icd473aa16bbf35839556b052271489a2889fe0fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2257229Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68461}
-
- 19 Jun, 2020 2 commits
-
-
Clemens Backes authored
Replace by "consistency check", or "validity check", or more specific wording as appropriate. R=ecmziegler@chromium.org Bug: v8:10619 Change-Id: Ifd7852d8f703d5b784d53671b82d65db15722ede Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2253855Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68440}
-
Clemens Backes authored
Make sure that the workers do not start running before the main thread told them so by setting the memory to the first element in the sequence. Otherwise it can happen that the main thread resets the memory after the workers already started doing their updates, which results in a hang (see linked bug). R=marja@chromium.org Bug: v8:10625 Change-Id: I959018279e0049900d44457b72146bc37a12bcb4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2252191 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#68429}
-
- 18 Jun, 2020 1 commit
-
-
Ng Zhi An authored
This was causing issues with strict mode when combined with fuzzers. See https://crrev.com/c/2173952/7/test/mjsunit/wasm/wasm-module-builder.js#471 Change-Id: I164b24c35d7ba7c53a550dc3649eb7268dfb30e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2252540Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#68420}
-
- 16 Jun, 2020 2 commits
-
-
Manos Koukoutos authored
Changes: - Simplify and generalize ToValueTypeString. - Fix some error messages in msjunit so that they reflect the underlying error better. - Change 'exn' -> 'exnref' to match exception-handling proposal. Bug: v8:7581 Change-Id: I264f6c9aa598a57f39d5a4d01399af64db83a2b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2243214 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68364}
-
Deepti Gandluri authored
Change-Id: Ie7bf807a51b2dd822b956a92d0051bfabcaf81eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2246528Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#68353}
-
- 12 Jun, 2020 1 commit
-
-
Andreas Haas authored
We want to enable the wasm-bigint implementation by default. However, at the moment there exist several tests which fail when wasm-bigint gets enabled. With this CL we adjust or delete these tests so that they pass once wasm-bigint gets enabled. At the same time we disable these tests for now, and re-enable them in the CL that flips the flag. R=jkummerow@chromium.org Bug: v8:7741 Change-Id: I733bfe7ff19e403913b143e6ea86ab13602ab993 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2243212 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#68328}
-
- 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}
-
- 05 Jun, 2020 1 commit
-
-
Andreas Haas authored
Due to recent spec changes, We do not have to check if ref.func instructions in global declarations only refer to declared functions. Additionally functions referenced in exports and globals are now considered declared. R=ecmziegler@chromium.org Bug: v8:10556 Change-Id: I79856c7d68155a04eb36769ceed8a58fe62a9f9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2228653 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#68190}
-
- 04 Jun, 2020 2 commits
-
-
Clemens Backes authored
This reverts commit b8f91666. Reason for revert: Fails gc-stress (https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/28341). Original change's description: > [flags] warn about contradictory flags > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ > > Bug: v8:10577 > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68168} TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: Ia1e3373fbb4c369594ceb98eb560e3ccf2cb8780 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10577 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2230523Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68169}
-
Tobias Tebbi authored
Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/ Bug: v8:10577 Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#68168}
-
- 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}
-
- 02 Jun, 2020 2 commits
-
-
Clemens Backes authored
This reverts commit 76debfda. Reason for revert: Nullptr access in new test: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/37265 Original change's description: > [wasm-simd][liftoff] Fix I64x2Mul > > The I64x2Mul overwrote the lhs/rhs if they are the same as dst. So when > deciding if we need temporaries, we should not only check the > cache_state, but whether they alias dst or not. > > Bug: chromium:1088273 > Change-Id: I82efa9b45e0a3d321a06efde60971ce95b21490f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2225796 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#68114} TBR=clemensb@chromium.org,zhin@chromium.org Change-Id: I5fd337b71d82d262d36ff410077a11c17b50036b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1088273 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2226756Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68117}
-
Ng Zhi An authored
The I64x2Mul overwrote the lhs/rhs if they are the same as dst. So when deciding if we need temporaries, we should not only check the cache_state, but whether they alias dst or not. Bug: chromium:1088273 Change-Id: I82efa9b45e0a3d321a06efde60971ce95b21490f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2225796 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#68114}
-
- 21 May, 2020 1 commit
-
-
Ng Zhi An authored
The proposal uses the lane shape, e.g. i64x2.anytrue, and we were using s1x2.anytrue in our opcodes. This was a legacy naming, because we were trying to bitpack the booleans. Now that we aren't doing that, rename these to be more consistent with the proposal. This was done with a straightforward sed script, changing both cpp code and also some comments in mjsunit test files. Bug: v8:10506 Change-Id: If077ed805de23520d8580d6b3b1906c80f67b94f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207915 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#67945}
-
- 19 May, 2020 1 commit
-
-
Emanuel Ziegler authored
The typed function references proposal allows an optional second parameter to Table.grow containing the initialization value for the newly added entries for tables that do not support null defaults. This CL adds this functionality but hides it behind a newly added experimental flag --experimental-wasm-typed-funcref. R=ahaas@chromium.org CC=jkummerow@chromium.org CC=manoskouk@chromium.org Bug: v8:9495 Change-Id: Ia156aeacf95bc36a9fc182990f315c42075cbb7b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207184 Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67900}
-
- 13 May, 2020 1 commit
-
-
Ng Zhi An authored
The AVX implementation does not have dst == input(0), so the vminps call was wrong. The intention is to compare the 2 input operands. Bug: chromium:1081030 Change-Id: Id54074327a6aca4b75988fc9d85beccfeabfc791 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2194471Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67786}
-
- 06 May, 2020 1 commit
-
-
Manos Koukoutos authored
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=jkummerow@chromium.org Bug: v8:7748 Change-Id: I33b38c911d366570ca6ef2723ded5205698e1979 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2179003 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#67614}
-
- 01 May, 2020 1 commit
-
-
Deepti Gandluri authored
- Update opcode numbers, tests - As the wasm-module-builder currently assumes opcode bytes, skip the test that needs a multi-byte leb128 opcode - Renumber post-MVP opcodes Change-Id: I6531e954e63986dc6f7a3144ec054d16e6dc1b05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2173952Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#67517}
-
- 30 Apr, 2020 1 commit
-
-
Clemens Backes authored
The interpreter will be un-shipped soon, hence we cannot have a compilation hint for interpreted execution. This CL removes the respective enum value, removes a test which specifically tested this one option, and adapts other code to use one of the remaining hints. R=ahaas@chromium.org Bug: v8:10389 Change-Id: Ia754f7de95be271000a9e4e10ef2a3ee171da627 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172748Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67491}
-
- 28 Apr, 2020 2 commits
-
-
Clemens Backes authored
This removes the {RedirectToWasmInterpreter} runtime function and the respective method from {WasmDebugInfo}. Some tests test specifically the interaction between compiled code and the interpreter. They are irrelevant now and are deleted. R=thibaudm@chromium.org Bug: v8:10389 Change-Id: I38330fcb523f7c65968fdf03abc60af3392bdcc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2164793 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67427}
-
Clemens Backes authored
The interpreter will be moved to be test-only, hence --wasm-interpret-all also needs to be removed. Since we don't have any non-compiling tier any more, we also remove the implication from --jitless to --wasm-lazy-compilation. Instead, we add another CHECK that we can't be in jitless mode if we trigger any wasm compilation. All tests that just ran other tests and additionally passed --wasm-interpret-all become redundant and are deleted. Also all regression tests that explicitly specify --wasm-interpret-all are not needed any more. R=thibaudm@chromium.org Bug: v8:10389 Change-Id: I5ddf20a842117a6c05e277a5308f5cfe42e6bfa5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2164792 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67419}
-
- 27 Apr, 2020 2 commits
-
-
Ng Zhi An authored
This relands commit 1a38573f. The original change used a sequence of instruction in the test that could not be scalar lowered properly. Original change's description: > [arm] Change fp_fixed registers to be allocatable registers > > fp_fixed1 and fp_fixed2 are used by the S8x16Shuffle operation. They > need to be allocatable, so that they can be correctly marked as fixed > and spilled as required. The previous value of fp_fixed2, d29, is not in > the list of allocatable double registers, and not marked as fixed > appropriately. > > One fix could be to extend the list of allocatable double registers, but > there is a comment there saying that the list is kept even-length to > make stack alignment easier. So rather than messing with that, we > instead change what fp_fixed1 and fp_fixed2 is, since S8x16Shuffle is > the only user, this is a simpler change. > > Bug: chromium:1070078 > Change-Id: Id7de9b256bad2cfb11b0f06b66eb80a48ff7827c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161565 > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67372} Bug: chromium:1070078 Change-Id: I02bb4b3ad03817318cbd0ee706c5ef4f20c845ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165867Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67406}
-
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}
-
- 24 Apr, 2020 2 commits
-
-
Francis McCabe authored
This reverts commit 390ed4b9. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/36714? Original change's description: > [arm] Change fp_fixed registers to be allocatable registers > > fp_fixed1 and fp_fixed2 are used by the S8x16Shuffle operation. They > need to be allocatable, so that they can be correctly marked as fixed > and spilled as required. The previous value of fp_fixed2, d29, is not in > the list of allocatable double registers, and not marked as fixed > appropriately. > > One fix could be to extend the list of allocatable double registers, but > there is a comment there saying that the list is kept even-length to > make stack alignment easier. So rather than messing with that, we > instead change what fp_fixed1 and fp_fixed2 is, since S8x16Shuffle is > the only user, this is a simpler change. > > Bug: chromium:1070078 > Change-Id: Id7de9b256bad2cfb11b0f06b66eb80a48ff7827c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161565 > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67372} TBR=gdeepti@chromium.org,zhin@chromium.org,thibaudm@chromium.org Change-Id: I00b4b34771b5832cc3d5fe6eac7aac506ec82d50 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1070078 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2165865Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#67375}
-
Ng Zhi An authored
fp_fixed1 and fp_fixed2 are used by the S8x16Shuffle operation. They need to be allocatable, so that they can be correctly marked as fixed and spilled as required. The previous value of fp_fixed2, d29, is not in the list of allocatable double registers, and not marked as fixed appropriately. One fix could be to extend the list of allocatable double registers, but there is a comment there saying that the list is kept even-length to make stack alignment easier. So rather than messing with that, we instead change what fp_fixed1 and fp_fixed2 is, since S8x16Shuffle is the only user, this is a simpler change. Bug: chromium:1070078 Change-Id: Id7de9b256bad2cfb11b0f06b66eb80a48ff7827c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2161565Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67372}
-