1. 17 Sep, 2020 10 commits
  2. 16 Sep, 2020 30 commits
    • Ng Zhi An's avatar
      [wasm-simd][liftoff][ia32][x64] Implement floating-point roundings · 7f654693
      Ng Zhi An authored
      Implement f32x4 and f64x2 nearest, trunc, ceil, and floor for ia32 and
      x64. arm and arm64 will follow in a future patch, now they just bail out
      into a runtime call.
      
      Bug: v8:10906
      Change-Id: I8c90ba6825e0360ca1251a1f706f9dbcba7afdbf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411691
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69961}
      7f654693
    • Ng Zhi An's avatar
      [wasm-simd][scalar-lowering] Fix lowering for i64x2 · 5f7e9234
      Ng Zhi An authored
      Add lowering for I64x2 in S128Const and converting Int64x2 to
      Int32x2.
      
      Bug: v8:10507
      Change-Id: I5bc40ae135fa00e31e901337b1a315f6ead14b02
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410800Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69960}
      5f7e9234
    • 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
    • Andreas Haas's avatar
      [wasm][liftoff] Delete unused parameter in StoreTaggedPointer · 8e7d2844
      Andreas Haas authored
      The {offset_reg} parameter was introduced so that the signature of
      StoreTaggedPointer is the same as for Store, and also to prepare for
      potential later uses. However, handling the parameter would introduce
      additional complexity, and chances are low that it will ever be used.
      That's why this CL just removes it.
      
      R=thibaudm@chromium.org
      
      Bug: v8:7581
      Change-Id: Ib419a72e1d9f36b8d9a3dbbce538ce57bb37d476
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412182Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69958}
      8e7d2844
    • Almothana Athamneh's avatar
      Increase shards for Mac on ARM64 buiders · d558494c
      Almothana Athamneh authored
      Bug: chromium:1126467
      Change-Id: Id10117b99fa28504780dd6c0a7850bb17e5e94ef
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414210
      Auto-Submit: Almothana Athamneh <almuthanna@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69957}
      d558494c
    • Frank Tang's avatar
      Reland "Roll test262" · bfab5058
      Frank Tang authored
      This is a reland of effbbb8c
      
      Original change's description:
      > Roll test262
      >
      > https://chromium.googlesource.com/external/github.com/tc39/test262/+log/e8cdf92..6397602
      >
      > Bug: v8:7834, v8:4628, v8:10903, v8:10905
      > Change-Id: I65bf15d6308126a4955abe0a6b0647834f4ff066
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405804
      > Reviewed-by: Shu-yu Guo <syg@chromium.org>
      > Commit-Queue: Frank Tang <ftang@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69899}
      
      Bug: v8:7834
      Bug: v8:4628
      Bug: v8:10903
      Bug: v8:10905
      Bug: v8:10921
      Change-Id: I615279b2a370daa2d7ce1fbdaa13f1ade12f8101
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413482Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69956}
      bfab5058
    • Jakob Kummerow's avatar
      Revert recent de/serializer related changes · 1aa9ab73
      Jakob Kummerow authored
      They are suspected to be causing Canary crashes, confirmed through
      local reverts and repro attempts.
      
      This reverts:
      - "Reland "[serializer] Change deferring to use forward refs""
        commit 76d684cc.
      - "Reland "[serializer] Remove new space""
        commit 81231c23.
      - "[serializer] Clean-up and de-macro ReadDataCase"
        commit c06d24b9.
      - "[serializer] DCHECK deserializer allocations are initialized"
        commit fbc1f32d.
      
      Bug: chromium:1128872
      Change-Id: Id2bb3b8fac526fdf9ffb033222ae08cd423f8238
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414220Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69955}
      1aa9ab73
    • 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
    • Ng Zhi An's avatar
      [wasm-simd][ia32] Fix codegen for f32x4 min and max · 099f0f8e
      Ng Zhi An authored
      dst might not be the same as src0 (since we don't define them to be
      equals in the instruction-selector if AVX is enabled), so the minps
      and maxps comparisons were incorrect.
      
      I found this while trying to run some spec tests, so not adding any
      unittest, eventually when the spec tests are enabled, this will be
      covered.
      
      Bug: v8:10835
      Change-Id: I4fbc1dfe949e4137e057e73c0d5dfb8534a00b8f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411484Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69953}
      099f0f8e
    • Alex Kodat's avatar
      [cpu-profiler] Ensure sampled thread has Isolate lock under Windows · 76217f57
      Alex Kodat authored
      While the sampler checked if the sampled thread had the Isolate locked
      (if locks are being used) under Linux, the check was not done under
      Windows (or Fuchsia) which meant that in a multi-threading application
      under Windows, thread locking was not checked making it prone to seg
      faults and the like as the profiler would be using isolate->js_entry_sp
      to determine the stack to walk but isolate->js_entry_sp is the stack
      pointer for the thread that currently has the Isolate lock so, if the
      sampled thread does not have the lock, the sampler woud be iterating
      over the wrong stack, one that might actually be actively changing on
      another thread. The fix was to move the lock check into CpuSampler
      and Ticker (--prof) so all OSes would do the correct check.
      
      The basic concept is that on all operating systems a CpuProfiler, and
      so its corresponding CpuCampler, the profiler is tied to a thread.
      This is not based on first principles or anything, it's simply the
      way it works in V8, though it is a useful conceit as it makes
      visualization and interpretation of profile data much easier.
      
      To collect a sample on a thread associated with a profiler the thread
      must be stopped for obvious reasons -- walking the stack of a running
      thread is a formula for disaster. The mechanism for stopping a thread
      is OS-specific and is done in sample.cc. There are currently three
      basic approaches, one for Linux/Unix variants, one for Windows and one
      for Fuchsia. The approaches vary as to which thread actually collects
      the sample -- under Linux the sample is actually collected on the
      (interrupted) sampled thread whereas under Fuchsia/Windows it's on
      a separate thread.
      
      However, in a multi-threaded environment (where Locker is used), it's
      not sufficient for the sampled thread to be stopped. Because the stack
      walk involves looking in the Isolate heap, no other thread can be
      messing with the heap while the sample is collected. The only ways to
      ensure this would be to either stop all threads whenever collecting a
      sample, or to ensure that the thread being sampled holds the Isolate
      lock so prevents other threads from messing with the heap. While there
      might be something to be said for the "stop all threads" approach, the
      current approach in V8 is to only stop the sampled thread so, if in a
      multi-threaded environment, the profiler must check if the thread being
      sampled holds the Isolate lock.
      
      Since this check must be done, independent of which thread the sample
      is being collected on (since it varies from OS to OS), the approach is
      to save the thread id of the thread to be profiled/sampled when the
      CpuSampler is instantiated (on all OSes it is instantiated on the
      sampled thread) and then check that thread id against the Isolate lock
      holder thread id before collecting a sample. If it matches, we know
      sample.cc has stop the sampled thread, one way or another, and we know
      that no other thread can mess with the heap (since the stopped thread
      holds the Isolate lock) so it's safe to walk the stack and collect data
      from the heap so the sample can be taken. It it doesn't match, we can't
      safely collect the sample so we don't.
      
      Bug: v8:10850
      Change-Id: Iba6cabcd3e11a19c261c004103e37e806934dc6f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2411343Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69952}
      76217f57
    • Frank Tang's avatar
      Fix locale of Intl.Collator..resolvedOptions · 46e06ad8
      Frank Tang authored
      Bug: v8:7481, v8:9084, v8:8664
      Change-Id: Iccbf78bf11a4e8ca5d105772fa5f654fbe6542cd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410791
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69951}
      46e06ad8
    • Michael Achenbach's avatar
      [test] Print less in verbose mode · d8d6110b
      Michael Achenbach authored
      I/O is quite expensive on the bots. This cuts down a bit of it by
      printing slightly fewer characters per test in verbose mode.
      
      This leads to an overall speed improvement of ~20% for large test
      suites, e.g. Test262 output-collection time goes from ~2m30 to ~2m.
      
      The averages to a 5-10% overall speed improvement for slow tryjobs.
      
      Bug: v8:10916
      Change-Id: I56dcb072af8eb32a1e09e17a05db5782c6d79315
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414038
      Auto-Submit: Michael Achenbach <machenbach@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69950}
      d8d6110b
    • Santiago Aboy Solanes's avatar
      Reland "[compiler] Replace JSDataView with direct reads" · 785d701f
      Santiago Aboy Solanes authored
      This is a reland of b5f37051
      
      Got reverted since it was breaking the bots
      (https://bugs.chromium.org/p/v8/issues/detail?id=10918)
      
      The solution is to keep the JSDataView class as kSerialized but change
      its method to do a direct heap access. In this way, its map it will
      still be serialized (which was the cause of the bot failure).
      
      In order to keep incrementally skipping serialization, we can introduce
      new macros that allow a per-method skip of serialization rather than
      per-class.
      
      Original change's description:
      > [compiler] Replace JSDataView with direct reads
      >
      > Bug: v8:7790
      > Change-Id: Id01c2e4359aa4294816ffe14c08a586a9b9b10c2
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404768
      > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69904}
      
      Bug: v8:7790, v8:10918
      Change-Id: Ifdfe504272369e7cc1332fe53992739f9d0be385
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413258Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69949}
      785d701f
    • Dominik Inführ's avatar
      [heap] Enable concurrent allocation by default · 71ab9b78
      Dominik Inführ authored
      Enable --concurrent-allocation to see whether this flag causes any
      regressions.
      
      Bug: v8:10315
      Change-Id: Iafe80c048ad7f04186207c8c570f7cf85397f02f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413260Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69948}
      71ab9b78
    • Manos Koukoutos's avatar
      [wasm-gc] Add module argument to IsJSCompatibleSignature · 295dd222
      Manos Koukoutos authored
      This CL is non-functional by itself and it prepares extending
      IsJSCompatibleSignature to wasm-gc types.
      
      Bug: v8:7748
      Change-Id: I0bf02d55e83ed020ef63b4eedf641d9405c3a689
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413251Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69947}
      295dd222
    • Michael Achenbach's avatar
      [test] Mark slow tests · 23a37871
      Michael Achenbach authored
      No-Try: true
      Bug: v8:10923
      Change-Id: I254a6190aa7aad69a7e11c58e78429a45eec9962
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414208
      Auto-Submit: Michael Achenbach <machenbach@chromium.org>
      Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran  <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69946}
      23a37871
    • Milad Fa's avatar
      Adding Red Hat to the list of Authorized contributors. · 38cc9f7a
      Milad Fa authored
      Change-Id: I564e60a04616f98cf0ad5258c994e53b6ab8f4eb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410010Reviewed-by: 's avatarMichael Dawson <midawson@redhat.com>
      Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
      Reviewed-by: 's avatarMichael Hablich <hablich@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
      Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/master@{#69945}
      38cc9f7a
    • Almothana Athamneh's avatar
      Correct the name of v8_mac_arm64_sim_nodcheck_rel_ng · 9bf2a8eb
      Almothana Athamneh authored
      Bug: chromium:1126467
      Change-Id: I91321aad9c959873f66c222f3bc0b24c44c3af5c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414033Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69944}
      9bf2a8eb
    • Camillo Bruni's avatar
      [test] Use Template::Set with const char* name · a22c6b92
      Camillo Bruni authored
      - inspector-test.cc
      - isolate-unittest.cc
      
      Bug: v8:10884
      Change-Id: I3d02526806ddb56edb087ff2a5407ad9e78ab567
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413263Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69943}
      a22c6b92
    • Almothana Athamneh's avatar
      CI simulator builders on experimental console · 636c5266
      Almothana Athamneh authored
      Bug: chromium:1126467
      Change-Id: Ieea946e254ece3a746d50f90f57c2957d2136cda
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412178
      Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69942}
      636c5266
    • Jakob Gruber's avatar
      [deoptimizer] Refactor --trace-deopt · 5b107848
      Jakob Gruber authored
      Deopt tracing is both verbose and hard to read. This CL splits verbose
      tracing into a new --trace-deopt-verbose flag (s.t. --trace-deopt now
      emits single-line events only), refactors tracing methods to all be on
      the Deoptimizer class, and clarifies output.
      
      Bug: v8:8888
      Change-Id: I3cf8e6878e5e996ca9a2e276ab8ba2d5b18d91a7
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413252
      Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69941}
      5b107848
    • Leszek Swirski's avatar
      Reland^2 "[offthread] Enable off-thread finalization in --future" · 505ed70d
      Leszek Swirski authored
      This is a reland of ff0c5cfa
      
      TSAN issue fixed in https://crrev.com/c/2410057
      
      Original change's description:
      > [offthread] Enable off-thread finalization in --future
      >
      > Enable the new LocalHeap-based off-thread finalization behind --future.
      >
      > Bug: chromium:1011762
      > Change-Id: I4b33fc300a34530d75aa1a3e197e0d1326994efa
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2403252
      > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69813}
      
      Bug: chromium:1011762
      Change-Id: I89013a4f6437f062194e7abdaa68c17f0b285edf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412169Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69940}
      505ed70d
    • Clemens Backes's avatar
      [liftoff] Do not store any relocation info · ac70b5bf
      Clemens Backes authored
      Liftoff code is never relocated and never serialized, thus relocation
      information is not needed.
      
      This results in slightly less information being printed when
      disassembling code, because the disassembler sometimes uses relocation
      information to show the kind of a call (e.g. internal wasm call vs.
      builtin call). This is an acceptable regression IMO.
      
      R=thibaudm@chromium.org
      
      Bug: v8:10777
      Change-Id: I019913a41b47466fba7b7f216ab51b91475cd984
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412186Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69939}
      ac70b5bf
    • Dominik Inführ's avatar
      Add testrunner variant for --stress-concurrent-allocation · cb85c18a
      Dominik Inführ authored
      Bug: v8:10315
      Change-Id: If64ff0bcd441ecce4113f70ba72373949f076efe
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2409276Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69938}
      cb85c18a
    • Ulan Degenbaev's avatar
      [heap] Evacuate the young generation before the old generation. · 829aefb0
      Ulan Degenbaev authored
      With the --always_promote_young_mc flag the mark-compact collector
      cannot gracefully handle allocation failures when evacuating the young
      generation. In some scenarios this causes OOM crashes without invoking
      NearHeapLimitCallback.
      
      This CL ensures that the young generation is evacuated before the old
      generation because old generation evacuation can be aborted if needed.
      Additionally, the CL cleans up usages of CanExpandOldGeneration.
      
      Bug: v8:10843
      Change-Id: I50d83912137afa3d3dac797dd4c6bddb51612334
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404829
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69937}
      829aefb0
    • Zeynep Cankara's avatar
      [tools][system-analyzer] TimelineOverviewIndicator bug fix · b67c3f53
      Zeynep Cankara authored
      This CL deletes the image on the timeline overview which
      only reflects the last uploaded timeline-track data
      and updates the timelineOverviewIndicator on mousemove and
      chunk zoom events.
      
      Bug: v8:10644
      
      Change-Id: Ib0a43083d2461cc343a0c946cfddaf4fdc514687
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413257Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Zeynep Cankara <zcankara@google.com>
      Cr-Commit-Position: refs/heads/master@{#69936}
      b67c3f53
    • Omer Katz's avatar
      cppgc: Add marking verifier test · 56817380
      Omer Katz authored
      Bug: chromium:1056170
      Change-Id: I4f935e1e653b2b713e690d9cd7d8a624d7bf1536
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413259
      Auto-Submit: Omer Katz <omerkatz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69935}
      56817380
    • Thibaud Michaud's avatar
      [wasm] Fix interpreter Ref in unreachable code · 140271f2
      Thibaud Michaud authored
      For "else" and "catch" statements, the Ref to the end label should only
      be added if the current block is unreachable, not the parent block.
      
      In the added regression test, the "true" block ends in an unreachable
      state with a stack height less than the target height of the end label.
      This is valid due to the semantics of unreachable code, but we should
      not add the Ref in this case because its stack height is invalid.
      
      R=clemensb@chromium.org
      
      Fixed: chromium:1092130
      Change-Id: Iebaf5e7d6516278ccd3c8268ac331069e109d882
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412181
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69934}
      140271f2
    • Dominik Inführ's avatar
      [heap] Remove GlobalSafepoint::Start() and End() methods · 66e75736
      Dominik Inführ authored
      Methods are now fully replaced with SafepointScope and are not supposed
      to be used anymore.
      
      Bug: v8:10315
      Change-Id: I16f9c37b1849590d74fa55c92b8ea5cc83cd7cce
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2413256Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69933}
      66e75736
    • Leszek Swirski's avatar
      [offthread] Acq/rel the string-table data pointer · 9786a960
      Leszek Swirski authored
      Since the string-table's data pointer is written inside a mutex, but
      read outside of it, we need to acq/rel access to it.
      
      There's no support in C++ for an std::atomic<std::unique_ptr>, so this
      patch changes the std::unique_ptr<Data> into a std::atomic<Data*>, and
      handles the deletion manually. StringTable::Data still uses
      
      std::unique_ptr as the general pointer-passing contract, we just
      carefully set and release the unique_ptrs when accessing and setting
      the StringTable's atomic Data pointer.
      
      Change-Id: I711a56825e2f5f9b2db63d1874e09c2627af54b8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410057
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Auto-Submit: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69932}
      9786a960