- 11 Jan, 2021 1 commit
-
-
Andreas Haas authored
This CL fixes a bug in the code generation for I32AtomicCompareExchange in Liftoff on ia32. The problem is the inconsistency that LiftoffAssembler::PeekToRegister(...) introduces to the cache state. PeekToRegister loads the value from the value stack into a register, but does not pop the value off the stack. When the value was already stored in a register, the use counter of that register gets decreased, even though the value is still on the stack. The problem arises when this register later gets reused, which is necessary unfortunately on ia32. When SpillRegister is called for this register, all stack values that are stored in this register get written to memory. SpillRegister uses the use counter of the register to detect when the register was spilled to all stack slots that were cached by this register. However, as described above, the value stack and the use counter are inconsistent at that moment, so SpillRegister finishes early and does not spill the register to all stack values, and this causes the bug later. With this CL the decrement of the use counter gets delayed until when the value actually gets popped off the stack. R=clemensb@chromium.org Bug: chromium:1145135 Change-Id: I07cb256a7e5135dbce41b246c120650635ad2758 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2602464Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72018}
-
- 08 Jan, 2021 1 commit
-
-
Zhi An Ng authored
We were incorrectly clearing the high reg from the list of regs to load. The intention was to prevent double (and incorrect) loading - loading 128 bits from the low fp and the loading 128 bits from the high fp. But this violates the assumption that the two regs in a pair would be set or unset at the same time. The fix here is to introduce a new enum for register loads, a nop, which does nothing. The high fp of the fp pair will be tied to this nop, so as we iterate down the reglist, we load 128 bits using the low fp, then don't load anything for the high fp. Bug: chromium:1161654 Change-Id: If2ea79132b78623e5990237c60cf0883d9a8223f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2617380Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71976}
-
- 07 Jan, 2021 1 commit
-
-
Andreas Haas authored
The flag was enabled by default in M85, it is time to remove it. R=clemensb@chromium.org Bug: v8:7741, chromium:1160677 Change-Id: Ic4a9490efa645a7466cb844484169ab262f0df38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2610965Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#71945}
-
- 06 Jan, 2021 1 commit
-
-
Zhi An Ng authored
This adds a regression test for a bug in lowering load transforms. This test will fail if 0efa3fd9 is reverted. Bug: chromium:1124885 Change-Id: I31b714d4565c4fff730c1274af8059031cb1e1b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2610508Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71919}
-
- 05 Jan, 2021 1 commit
-
-
Zhi An Ng authored
In https://crrev.com/c/2591859 we changed the way we generate code for v128.select, which assumes that all inputs are registers. We did not update the instruction selector with this new constraint. Fixed: chromium:1161954 Bug: v8:11282 Change-Id: I5fc9a0315873a3e795078997d87aa92d4c8bddfe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2603764 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#71904}
-
- 03 Dec, 2020 2 commits
-
-
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}
-
Andreas Haas authored
Safepoint maps record all spill slots that contain a tagged value. The introduction of multi-value return changed the stack frame layout though and the calculation of spill slots has not been adjusted accordingly. This CL adjusts the creation of safepoints now to work for multi-value returns as well. R=neis@chromium.org Bug: v8:11206 Change-Id: Id623dbc28b976dcf625ac78738e03e642fafbb36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2569762 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#71591}
-
- 02 Dec, 2020 1 commit
-
-
Clemens Backes authored
The {ParallelRegisterMove} at the end of {AtomicLoad} might need a temporary scratch register for spilling values to the stack. Make sure that one is available by giving up the scratch register used for the address of the atomic access. R=ahaas@chromium.org Bug: chromium:1153442 Change-Id: I267c43e2193662c420f96f6683ebd4bbb0e1bca3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2566759Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71564}
-
- 30 Nov, 2020 1 commit
-
-
Zhi An Ng authored
The flags were added because scalar lowering was not implemented for the instructions in the test. Now that scalar lowering is complete, we can remove these flags. Fixed: v8:11137 Change-Id: Ic7bdedbfe558fafebe98917fe4e6a7922203ba91 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565078Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71474}
-
- 27 Nov, 2020 1 commit
-
-
Manos Koukoutos authored
See also: https://chromium-review.googlesource.com/c/v8/v8/+/2557515 Bug: chromium:1152937 Change-Id: I8043f88f3a64a3e45e00c8e6848cb6e4ec6f8a42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562239 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71444}
-
- 18 Nov, 2020 1 commit
-
-
Andreas Haas authored
This CL implements the spec change done in https://github.com/WebAssembly/reference-types/pull/116. R=manoskouk@chromium.org Bug: v8:10994 Change-Id: Ic2b4e0a52af225b5640447fe051a9c36e6d41be2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2534818 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#71260}
-
- 10 Nov, 2020 2 commits
-
-
Michael Achenbach authored
This reverts commit a9252d70. Reason for revert: experiment done Original change's description: > Temporary failure for tree-closer test > > CL to test tree-closure. This CL will be reverted afterwards. > > No-Try: true > Bug: v8:10661 > Change-Id: I07cdedc530dd3718a9537bca51fbb40b83a3e8b9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2527100 > Commit-Queue: Liviu Rau <liviurau@chromium.org> > Reviewed-by: Liviu Rau <liviurau@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71075} TBR=machenbach@chromium.org,mslekova@chromium.org,liviurau@chromium.org Change-Id: I830daa57a10f284d96e8532b6117d627817f1da8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10661 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2529138Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#71083}
-
Michael Achenbach authored
CL to test tree-closure. This CL will be reverted afterwards. No-Try: true Bug: v8:10661 Change-Id: I07cdedc530dd3718a9537bca51fbb40b83a3e8b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2527100 Commit-Queue: Liviu Rau <liviurau@chromium.org> Reviewed-by: Liviu Rau <liviurau@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#71075}
-
- 09 Nov, 2020 1 commit
-
-
Clemens Backes authored
The arm implementation made the assumption that the {lhs} and {dst} registers are either the same, or there is no overlap. This assumption does not hold. ia32 on the other hand has a lot of complicated logic (and unnecessary code generation) for different cases of overlap. This CL fixes the arm issue *and* simplifies the ia32 logic by making the arm assumption hold, and using it to eliminate special handling on ia32. R=thibaudm@chromium.org Bug: chromium:1146861 Change-Id: I8753c2ed70349e735c03293130c899c0c8a3a671 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2526388Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71060}
-
- 29 Oct, 2020 1 commit
-
-
Zhi An Ng authored
Test was skipped because the generated test contains multi-byte opcode, and wasn't correct. Fix up the test with the correct encoding. The fuzzer now generates multi-byte opcodes correctly, and so shouldn't be an issue. Bug: v8:10486 Change-Id: I1f5ad7d456320a30da6c553f65fdca0fc86a291a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2505238Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70864}
-
- 26 Oct, 2020 1 commit
-
-
Andreas Haas authored
For deserialized modules the compilation state was not set to kFinishedTopTierCompilation and co. A consequence was that code that required top tier compilation to be finished to block indefinitely. With this CL the compilation state is initialized properly. I tested this CL locally with the regression test mentioned in the bug tracker issue. However, this regression test required to run this test twice in separate processes. It would be possible to write a regression test for this that runs on the bots, but I considered it not worth it. R=clemensb@chromium.org Bug: v8:11024 Change-Id: Ib4e75eae03fab13a3ff013118fc1f33a1278b33f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494930Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70757}
-
- 22 Oct, 2020 1 commit
-
-
Andreas Haas authored
The register that holds the {new_value} for the AtomicCompareExchange8U has to be a byte register on ia32. There was code to guarantee that, but after that code there was code that frees the {eax} register, and that code moved the {new_value} to a different register again. With this CL we first free {eax}, and then find a byte register for the {new_value}. R=clemensb@chromium.org Bug: chromium:1140549 Change-Id: I1679f3f9ab26c5416ea251c7925366ff43336d85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491031Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70721}
-
- 21 Oct, 2020 1 commit
-
-
Manos Koukoutos authored
This trap now used for all runtime type errors thrown when interfacing with JS. Its name and message have been changed to reflect this. Additional change: Remove the trap from the list of traps used exclusively for RuntimeError (as opposed to TypeError) in wasm-module-builder.js. Change-Id: I517766837a60d94b562d4c0de922d52db786b635 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2488688Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#70682}
-
- 19 Oct, 2020 1 commit
-
-
Thibaud Michaud authored
Preparing for tail call is usually done by emitting the gap moves and then moving the stack pointer to its new position. An optimization consists in moving the stack pointer first and transforming some of the moves into pushes. In the attached case it looks like this (arm): 138 add sp, sp, #40 13c str r6, [sp, #-4]! 140 str r6, [sp, #-4]! 144 str r6, [sp, #-4]! 148 str r6, [sp, #-4]! 14c str r6, [sp, #-4]! ... 160 vldr d1, [sp - 4*3] The last line is a gap reload, but because the stack pointer was already moved, the slot is now below the stack pointer. This is invalid and triggers this DCHECK: Fatal error in ../../v8/src/codegen/arm/assembler-arm.cc, line 402 Debug check failed: 0 <= offset (0 vs. -12). A comment already explains that we skip the optimization if the gap contains stack moves to prevent this, but the code only checks for non-FP slots. This is fixed by replacing "source.IsStackSlot()" with "source.IsAnyStackSlot()": 108 vldr d1, [sp + 4*2] ... 118 str r0, [sp, #+36] 11c str r0, [sp, #+32] 120 str r0, [sp, #+28] 124 str r0, [sp, #+24] 128 str r0, [sp, #+20] ... 134 add sp, sp, #20 R=jgruber@chromium.org Bug: chromium:1137608 Change-Id: If2b85dde49bf31a6bd3f5e0255407f9390727f9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2474784Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#70603}
-
- 13 Oct, 2020 1 commit
-
-
Clemens Backes authored
Whenever more then one value is pushed to the stack, we need to execute a check for growing the stack first (since https://crrev.com/c/2431525). This CL adds two missing checks. R=thibaudm@chromium.org Bug: chromium:1137582 Change-Id: I9755502dfdb77c03d1dde3e83fb7d33b9b99e499 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2467796 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#70480}
-
- 29 Sep, 2020 1 commit
-
-
Ng Zhi An authored
LoadTransform operators contain a LoadKind, which can be unaligned, protected, poisoned, normal. If it is protected, we cannot eliminiate that load, since we rely on the segv signal handling. So, we use partial template specialization on LoadKind::kProtected, and don't set the operator to not be eliminatable. Bug: chromium:1132461 Change-Id: If45fc6562348ffd4dbaa27058e6c5d4242f79abb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436081 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70205}
-
- 25 Sep, 2020 1 commit
-
-
Adam Klein authored
These instructions were changed from "s8x16" to "i8x16" prefixes in https://github.com/WebAssembly/simd/pull/321. This CL updates all V8 code, including arch-specific code, to match. Bug: v8:10946, v8:10933 Change-Id: I26ef9ad77571f94501d42c1d65f57380fd507f3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2432068Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#70143}
-
- 24 Sep, 2020 1 commit
-
-
Andreas Haas authored
In atomic.notify we overwrote the register which stored the index, without checking if it was still in use or not. R=clemensb@chromium.org Bug: v8:10898 Change-Id: I59ed7a2c1f1342ff4252e3c4d33822111caee82c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2426616Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70125}
-
- 22 Sep, 2020 1 commit
-
-
Ng Zhi An authored
Rename opcodes based on the renaming in the proposal, https://github.com/WebAssembly/simd/pull/322. Bug: v8:10946 Change-Id: If267d6f8fb1b9deeff64cd9abcd7e4cd64a540a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2422357 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#70077}
-
- 18 Sep, 2020 1 commit
-
-
Tobias Tebbi authored
This is a reland of 2000aea5 Changes compared to last reland: - Add rule in variants.py for --enable_experimental_regexp_engine. - Make sure --abort-on-contradictory-flags works as well as --fuzzing to disable the checking for fuzzers, including for d8 flags. Original change's description: > Reland^4 "[flags] warn about contradictory flags" > > This is a reland of 0ba115e6 > Changes compared to last reland: > - Fix Python code trying to write to expected_outcomes, which is now a > computed property. > - Fix remaining place in d8.cc that ignored the --fuzzing flag. > - Expect flag contradictions for --cache in code_serializer variant. > > Original change's description: > > Reland^3 "[flags] warn about contradictory flags" > > > > Changes: > > - Also allow second parameter influenced by --cache to be reassigned. > > - Fix --stress-opt to only --always-opt in the last iteration as before. > > > > Original change's description: > > > Reland^2 "[flags] warn about contradictory flags" > > > > > > This is a reland of d8f8a7e2 > > > Change compared to last reland: > > > - Do not check for d8 flag contradictions in the presence of --fuzzing > > > - Allow identical re-declaration of --cache=* > > > > > > 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} > > > > > > Bug: v8:10577 > > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#69339} > > > > Bug: v8:10577 > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng > > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69433} > > Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69954} Bug: v8:10577 TBR: clemensb@chromium.org, tmrts@chromium.org Change-Id: Iab2d32cdcc2648934fc52255ccf3ae3ec9ca4d9b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416386Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#70000}
-
- 16 Sep, 2020 2 commits
-
-
Bill Budge authored
This reverts commit 2000aea5. Reason for revert: Breaks NumFuzz. Original change's description: > Reland^4 "[flags] warn about contradictory flags" > > This is a reland of 0ba115e6 > Changes compared to last reland: > - Fix Python code trying to write to expected_outcomes, which is now a > computed property. > - Fix remaining place in d8.cc that ignored the --fuzzing flag. > - Expect flag contradictions for --cache in code_serializer variant. > > Original change's description: > > Reland^3 "[flags] warn about contradictory flags" > > > > Changes: > > - Also allow second parameter influenced by --cache to be reassigned. > > - Fix --stress-opt to only --always-opt in the last iteration as before. > > > > Original change's description: > > > Reland^2 "[flags] warn about contradictory flags" > > > > > > This is a reland of d8f8a7e2 > > > Change compared to last reland: > > > - Do not check for d8 flag contradictions in the presence of --fuzzing > > > - Allow identical re-declaration of --cache=* > > > > > > 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} > > > > > > Bug: v8:10577 > > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#69339} > > > > Bug: v8:10577 > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng > > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69433} > > Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Tamer Tas <tmrts@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69954} TBR=clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I2dc80bcad9f74c29298902e01939e7e7f3336cf6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2415133Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69959}
-
Tobias Tebbi authored
This is a reland of 0ba115e6 Changes compared to last reland: - Fix Python code trying to write to expected_outcomes, which is now a computed property. - Fix remaining place in d8.cc that ignored the --fuzzing flag. - Expect flag contradictions for --cache in code_serializer variant. Original change's description: > Reland^3 "[flags] warn about contradictory flags" > > Changes: > - Also allow second parameter influenced by --cache to be reassigned. > - Fix --stress-opt to only --always-opt in the last iteration as before. > > Original change's description: > > Reland^2 "[flags] warn about contradictory flags" > > > > This is a reland of d8f8a7e2 > > Change compared to last reland: > > - Do not check for d8 flag contradictions in the presence of --fuzzing > > - Allow identical re-declaration of --cache=* > > > > 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} > > > > Bug: v8:10577 > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69339} > > Bug: v8:10577 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69433} Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#69954}
-
- 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}
-
- 09 Sep, 2020 1 commit
-
-
Andreas Haas authored
The emitted safepoint entries had the wrong size, because it did not contain StandardFrameConstants::kFixedFrameSizeAboveFp. The code still worked because the indices of encoded in the entries where too low by StandardFrameConstants::kFixedFrameSizeAboveFp and thereby corrected the invalid size. It worked as follows: First the stack_slots_size gets calculated from the safepoint entry. Then the position of a stack slot was "frame_header_base + stack_slots_size - index * pointer_size", where "index" is what is encoded in the safepoint map. Because of the incorrect encoding, both stack_slot_size and index were too low by StandardFrameConstants::kFixedFrameSizeAboveFp. Therefore the errors in both values eliminated each other, making the end result correct. With --print-code, the safepoint entry size was also read, and it crashed because the encoded value was too low. The reland fixes the indices. Original message: With this CL we emit safepoint maps for externref values on the Liftoff value stack. With that there is support for externref parameters and locals in Liftoff, as well as for intermediate values of type externref. R=thibaudm@chromium.org Bug: v8:7581 Change-Id: I88444e57745d7b9fe8f1630e904d49736fa9d720 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398531 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69786}
-
- 02 Sep, 2020 2 commits
-
-
Ng Zhi An authored
Due to the way SSE flags work, we need to enable all versions prior to SSE 4.1 as well. Bug: v8:10863 Change-Id: I50ddd3f486641e7bf22c651fc2c9a8a4ccbc2b46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391325Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69687}
-
Michael Achenbach authored
The test is incompatible with --noenable-sse4-1, which is randomly added by numfuzz (and possibly other fuzzers). The "Flags" from the test files are always passed last and are often used to neuter incompatible flags. Bug: v8:10863 Change-Id: I8fd11b4d38586f25f5af63ab8ef83873dc250557 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2389982Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#69665}
-
- 01 Sep, 2020 1 commit
-
-
Andreas Haas authored
With a recent change, we require WebAssembly code to be tiered up to serialize it, see https://crrev.com/c/2349290. In that CL tests were adjusted to set the --wasm-tier-up flag when serialization was involved. However, the test adjusted in this CL was missing, because this test used the kExprRefNull instruction, which caused a bailout to TurboFan anyways. With recent changes, Liftoff can compile kExprRefNull now, and therefore causes problems. R=thibaudm@chromium.org Bug: v8:10852 Change-Id: I9b89f37c22f17cbf046110f3ee1c98bfea73e009 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2387574Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69648}
-
- 28 Aug, 2020 1 commit
-
-
Ng Zhi An authored
For SIMD instructions that use aligned moves (like movaps or movapd), we don't have correct memory alignment for SIMD moves yet. Switch to to movupd. Bug: v8:9198 Bug: v8:10831 Change-Id: Ic60fba5d08dda9676f6091ce505ac7be54957d00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2380240 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69613}
-
- 19 Aug, 2020 1 commit
-
-
Ng Zhi An authored
Load extends always load 8 bytes, so the access size does not depend on MachineType of the load. The MachineType is used for classifying the lane shape of the 8-byte load. Also add cctest to load splats and load extends to test OOB. (Note that load splats access size depends on MachineType). Add regression test from clusterfuzz, minimized by ahaas@. Remove the `--no-wasm-trap-handler` flag since we have a no_wasm_traps variant that should test this flag. Bug: chromium:1116019 Change-Id: I27ba051d0536ca0f6fd75dd641ca9b78132dafed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2363291 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#69489}
-
- 17 Aug, 2020 2 commits
-
-
Francis McCabe authored
This reverts commit dc18b822. Reason for revert: still causing failures: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20debug/31566 Original change's description: > Reland^3 "[flags] warn about contradictory flags" > > This is a reland of 0ba115e6 > Changes: > - Also allow second parameter influenced by --cache to be reassigned. > - Fix --stress-opt to only --always-opt in the last iteration as before. > > Original change's description: > > Reland^2 "[flags] warn about contradictory flags" > > > > This is a reland of d8f8a7e2 > > Change compared to last reland: > > - Do not check for d8 flag contradictions in the presence of --fuzzing > > - Allow identical re-declaration of --cache=* > > > > 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} > > > > Bug: v8:10577 > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > > Reviewed-by: Clemens Backes <clemensb@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69339} > > Bug: v8:10577 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69433} TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I4ccdd7b931d0ddccbcec1d6cfae8d4874ee49cfc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10577 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360414Reviewed-by: Francis McCabe <fgm@chromium.org> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#69438}
-
Tobias Tebbi authored
This is a reland of 0ba115e6 Changes: - Also allow second parameter influenced by --cache to be reassigned. - Fix --stress-opt to only --always-opt in the last iteration as before. Original change's description: > Reland^2 "[flags] warn about contradictory flags" > > This is a reland of d8f8a7e2 > Change compared to last reland: > - Do not check for d8 flag contradictions in the presence of --fuzzing > - Allow identical re-declaration of --cache=* > > 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} > > Bug: v8:10577 > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69339} Bug: v8:10577 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Change-Id: I4a69dc57a102782cb453144323e3752ac8278624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69433}
-
- 11 Aug, 2020 4 commits
-
-
Ng Zhi An authored
This is a reland of 57242a05 no-sse4.1 builds were failing due to missing simd-scalar-lowering for s128.const, this reland adds that implementation. Original change's description: > [wasm-simd][arm] Use vmov to move all ones to register > > vceq(dst, dst, dst) does not seem to always set the register to all > ones. The right way should be be to use vmov (immediate) anyway. This > was not supported in the assembler yet, so we need changes to the > assembler, diassembler, and simulator. > > There is an unfortunate fork in logic in the simulator, due to the way > the switches are set up, vmov (imm) logic is duplicated across two > different cases, because the switch looks at the top bit of the > immediate. Refactoring this will be a bigger change that is irrelevant > for this bug, so I'm putting that off for now. Instead we extract the > core of vmov (imm) into helpers and call it in the two cases. > > Bug: chromium:1112124 > Change-Id: I283dbcd86cb0572e5ee720835f897b51fae96701 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2337503 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69315} Bug: chromium:1112124 Change-Id: Id450e5cea41f7a569e49be8386a7788ca8f00658 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346937Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#69346}
-
Bill Budge authored
This reverts commit 0ba115e6. Reason for revert: Breaks test on TSAN - block-conflicts https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20concurrent%20marking/14230 Original change's description: > Reland^2 "[flags] warn about contradictory flags" > > This is a reland of d8f8a7e2 > Change compared to last reland: > - Do not check for d8 flag contradictions in the presence of --fuzzing > - Allow identical re-declaration of --cache=* > > 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} > > Bug: v8:10577 > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69339} TBR=machenbach@chromium.org,neis@chromium.org,clemensb@chromium.org,tebbi@chromium.org,tmrts@chromium.org Change-Id: I1454a05e357ddd704db7fb79e51be65d45a9a16e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10577 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2348365Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#69341}
-
Tobias Tebbi authored
This is a reland of d8f8a7e2 Change compared to last reland: - Do not check for d8 flag contradictions in the presence of --fuzzing - Allow identical re-declaration of --cache=* 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} Bug: v8:10577 Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69339}
-
Clemens Backes authored
This is a reland of 60ee70bb. The wasm c-api flakes were fixed in https://crrev.com/c/2349293. Original change's description: > [wasm] Ensure that only TurboFan code is serialized > > We have the implicit assumption that Liftoff code will never be > serialized, and we start relying on that when implementing new features > (debugging, dynamic tiering). > > This CL makes the serializer fail if the module contains any Liftoff > code. Existing tests are changed to ensure that we fully tiered up > before serializing a module (similar to the logic in Chromium). > The "wasm-clone-module" test needs to serialize the module before > enabling the debugger. > > Note that chrome currently only serializes a module after it fully > tiered up, so that should be fine. If other embedders need the ability > to serialize a module in an arbitrary state, we will have to fix this > later. With this CL we will be on the safe side though and (gracefully) > fail serialization instead of accidentally serializing Liftoff code. > > R=ahaas@chromium.org > > Bug: v8:10777 > Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69276} Bug: v8:10777 Change-Id: I2a7c1429812ca46d88a2902b8e0a7b7e3d638b56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349290Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#69335}
-