1. 11 Jan, 2021 1 commit
    • Andreas Haas's avatar
      [wasm][liftoff] Delay use counter decrement of PeekToRegister · 48ead1a8
      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: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72018}
      48ead1a8
  2. 08 Jan, 2021 1 commit
    • Zhi An Ng's avatar
      [wasm-simd] Fix loading fp pair registers · 8c698702
      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: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71976}
      8c698702
  3. 07 Jan, 2021 1 commit
  4. 06 Jan, 2021 1 commit
  5. 05 Jan, 2021 1 commit
  6. 03 Dec, 2020 2 commits
  7. 02 Dec, 2020 1 commit
  8. 30 Nov, 2020 1 commit
  9. 27 Nov, 2020 1 commit
  10. 18 Nov, 2020 1 commit
  11. 10 Nov, 2020 2 commits
  12. 09 Nov, 2020 1 commit
    • Clemens Backes's avatar
      [wasm][liftoff] Fix register usage for i64_addi · 89ca48c9
      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: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71060}
      89ca48c9
  13. 29 Oct, 2020 1 commit
  14. 26 Oct, 2020 1 commit
    • Andreas Haas's avatar
      [wasm] Deserialized code is marked with top-tier-finished · a9f376aa
      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: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70757}
      a9f376aa
  15. 22 Oct, 2020 1 commit
  16. 21 Oct, 2020 1 commit
  17. 19 Oct, 2020 1 commit
    • Thibaud Michaud's avatar
      [codegen] Skip invalid optimization in tail calls · 7506e063
      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: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70603}
      7506e063
  18. 13 Oct, 2020 1 commit
  19. 29 Sep, 2020 1 commit
  20. 25 Sep, 2020 1 commit
  21. 24 Sep, 2020 1 commit
  22. 22 Sep, 2020 1 commit
  23. 18 Sep, 2020 1 commit
    • Tobias Tebbi's avatar
      Reland^5 "[flags] warn about contradictory flags" · 0832a109
      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: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70000}
      0832a109
  24. 16 Sep, 2020 2 commits
    • Bill Budge's avatar
      Revert "Reland^4 "[flags] warn about contradictory flags"" · a0e38f31
      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: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69959}
      a0e38f31
    • Tobias Tebbi's avatar
      Reland^4 "[flags] warn about contradictory flags" · 2000aea5
      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: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarTamer Tas <tmrts@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69954}
      2000aea5
  25. 10 Sep, 2020 1 commit
  26. 09 Sep, 2020 1 commit
    • Andreas Haas's avatar
      Reland "[wasm][liftoff] Emit safepoints for externref values on the stack" · 7c4b9302
      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: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69786}
      7c4b9302
  27. 02 Sep, 2020 2 commits
  28. 01 Sep, 2020 1 commit
  29. 28 Aug, 2020 1 commit
  30. 19 Aug, 2020 1 commit
    • Ng Zhi An's avatar
      [wasm-simd] Fix bounds check for load extends · a85b5a63
      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: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69489}
      a85b5a63
  31. 17 Aug, 2020 2 commits
    • Francis McCabe's avatar
      Revert "Reland^3 "[flags] warn about contradictory flags"" · a5756085
      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: 's avatarFrancis McCabe <fgm@chromium.org>
      Commit-Queue: Francis McCabe <fgm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69438}
      a5756085
    • Tobias Tebbi's avatar
      Reland^3 "[flags] warn about contradictory flags" · dc18b822
      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: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69433}
      dc18b822
  32. 11 Aug, 2020 4 commits
    • Ng Zhi An's avatar
      Reland "[wasm-simd][arm] Use vmov to move all ones to register" · 9b9c6b0e
      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: 's avatarBill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69346}
      9b9c6b0e
    • Bill Budge's avatar
      Revert "Reland^2 "[flags] warn about contradictory flags"" · 7e932233
      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: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69341}
      7e932233
    • Tobias Tebbi's avatar
      Reland^2 "[flags] warn about contradictory flags" · 0ba115e6
      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: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69339}
      0ba115e6
    • Clemens Backes's avatar
      Reland "[wasm] Ensure that only TurboFan code is serialized" · cdd984ef
      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: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69335}
      cdd984ef