1. 09 Aug, 2021 28 commits
  2. 08 Aug, 2021 1 commit
  3. 07 Aug, 2021 1 commit
  4. 06 Aug, 2021 10 commits
    • Frank Tang's avatar
      Fix bugs in DisplayNames v2 · 3ff19049
      Frank Tang authored
      Bug: v8:12043
      Change-Id: I0691387546ec82616bdf22d19c8a990c8164fca2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3071915Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76147}
      3ff19049
    • Clemens Backes's avatar
      Revert "[wasm] Check correctness of thread-local write protection" · a910264a
      Clemens Backes authored
      This reverts commit fee168ce.
      
      Reason for revert: The DCHECK fails when freeing code
      (https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/38292/overview),
      which means that the current code is not correct. The added DCHECK
      makes the bots red though, so the state before this CL was still
      better.
      
      Original change's description:
      > [wasm] Check correctness of thread-local write protection
      >
      > We make an undocumented assumption in {CodeSpaceWriteScope} that a
      > single thread will only work on one module at a time. If this is
      > violated, the thread-local {code_space_write_nesting_level_} would
      > prevent the second module from being switched to writable.
      >
      > This CL adds a second thread local (in debug only) to check that if
      > there is already a {CodeSpaceWriteScope} open that it contains the same
      > {NativeModule} as any nested scope.
      >
      > R=​jkummerow@chromium.org
      >
      > Change-Id: I43fa886d9d0fdf0e1846137dc411745fcca471fa
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3074477
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#76134}
      
      TBR=jkummerow@chromium.org
      
      Change-Id: I5262b0e886f99a64452966345fc084a1ab750459
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3078360Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76146}
      a910264a
    • Milad Fa's avatar
      S390 [liftoff]: Implement simd comparisons · fe492561
      Milad Fa authored
      Change-Id: I48effbb727b523ac1911584d3072c13671633046
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077623Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
      Reviewed-by: 's avatarMilad Fa <mfarazma@redhat.com>
      Commit-Queue: Milad Fa <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/master@{#76145}
      fe492561
    • Victor Gomes's avatar
      [baseline] Update EstimateInstructionSize · 63be6dde
      Victor Gomes authored
      Adds a minimum estimated size.
      
      Data suggests that estimated instruction size (+ relocation info size)
      is linear to bytecode array length. This CL adds a constant for this
      equation. The ratio remains the same.
      
      This is important, because we want to increase success rate of
      estimation when compiling on-heap.
      
      When off-heap, we round up the assembler buffer to 4kB, so this CL
      will only impact JS functions with more than 585 bytecodes, i.e, the
      new added constant will be negligible.
      
      Note: Relocation info (for Sparkplug) is usually so small that it is
      not useful to have a separate zone for this.
      
      Bug: v8:11872
      Change-Id: I789e72f80b970d1f541965e7ae808b61c8174326
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3069155
      Auto-Submit: Victor Gomes <victorgomes@chromium.org>
      Commit-Queue: Victor Gomes <victorgomes@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76144}
      63be6dde
    • Clemens Backes's avatar
      [wasm] Disable MAP_JIT functionality on iOS · 639e8563
      Clemens Backes authored
      pthread_jit_write_protect* functions are only available on arm64 Mac,
      not on iOS (which also sets V8_{TARGET_,}OS_MACOSX).
      This CL refactors the logic to detect whether pthread_jit_write_protect
      and MAP_JIT are available and defines a global preprocessor macro which
      can subsequently be used instead of the existing complex condition.
      
      R=jkummerow@chromium.org, mlippautz@chromium.org
      
      Change-Id: I63894f42df35406d6eee90a4ce5070c2fde7b566
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077154Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Auto-Submit: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76143}
      639e8563
    • Clemens Backes's avatar
      [isolate] Increase allowed stack overflow for sanitizer builds · d3b5b63d
      Clemens Backes authored
      C++ frames can get quite big in sanitizer builds. In the linked bug it
      was an ASan debug build, which overflowed the stack by more than 8kB
      just from C++ frames (when entering the runtime, there was no overflow
      yet).
      Hence increase the allowed stack overflow a bit for sanitizer builds,
      from 8kB to 32kB.
      
      R=jkummerow@chromium.org
      
      Bug: chromium:1236560
      Change-Id: I119fdb859f7ab5e6a0a4174cf79f0a16baa39432
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3078359Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76142}
      d3b5b63d
    • Thibaud Michaud's avatar
      [wasm] Print hash of anonymous scripts in stack traces · 2656330f
      Thibaud Michaud authored
      So that it is possible to differentiate modules in the stack trace even
      when they are anonymous.
      
      R=kimanh@chromium.org
      
      Bug: v8:11808
      Change-Id: I12a1f07accdf62c404052f32624e9914381a7451
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3074472
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Reviewed-by: 's avatarKim-Anh Tran <kimanh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76141}
      2656330f
    • Junliang Yan's avatar
      ppc: [liftoff] implement PrepareStackFrame · 007aec55
      Junliang Yan authored
      Change-Id: Iffed72ddf703ea868a959c15f65547c34f976200
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077060Reviewed-by: 's avatarMilad Fa <mfarazma@redhat.com>
      Commit-Queue: Junliang Yan <junyan@redhat.com>
      Cr-Commit-Position: refs/heads/master@{#76140}
      007aec55
    • Jakob Kummerow's avatar
      [bigint] Two more fixes for fast .toString() · dcc6bd76
      Jakob Kummerow authored
      Firstly, the fast path checking for applicability of the equality
      "A/B = 0 with remainder A" must use the condition "A<B", not "A<=B".
      Secondly, *all* early return paths must ensure that enough padding
      '0' characters are written.
      
      Fixed: chromium:1236694
      Bug: v8:11515
      Change-Id: I3fa7e17f5f3969ddbb5417b53abf3bff3fc1355b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3075365Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76139}
      dcc6bd76
    • Leszek Swirski's avatar
      Revert "[counters] Fix reentrant timers for V8.Execute" · a12c6fa2
      Leszek Swirski authored
      This reverts commit fffcbaea.
      
      Reason for revert: Breaks in Chromium (e.g. https://ci.chromium.org/p/v8/builders/ci/Linux%20V8%20FYI%20Release%20%28NVIDIA%29)
      
      Original change's description:
      > [counters] Fix reentrant timers for V8.Execute
      >
      > This CL fixes a long standing issue where reentering TimedHistograms
      > scopes would cause spurious measurements. Only the non-nested scopes
      > yielded correct results.
      >
      > Due to the changed numbers, the V8.Execute histogram is renamed to
      > V8.ExecuteMicroSeconds. Note that this histogram is also guarded
      > behind the --slow-histograms flag due to the additional overhead.
      >
      > Unlike before, it does no longer include time for external callbacks
      > and only measures self time. The following example illustrates the
      > new behaviour:
      >
      > 1. Enter V8:           |--+.......+--| self-time: 4 units (reported)
      > 2. Exit V8 (callback):    |-+...+-|    self-time: 2 units (ignored)
      > 3. Re-enter V8:             |---|      self-time: 3 units (reported)
      >
      > This would result in 2 histogram entries with 4 time units for the first
      > V8 slice and 3 units for the nested part. Note that the callback time
      > itself is ignored.
      >
      > This CL attempts to clean up how TimedHistograms work:
      > - Histogram: the base class
      > - TimedHistograms: used for time-related histograms that are not nested
      > - NestedTimeHistograms: Extends TimedHistograms and is used for nested
      >   histograms
      >
      > This CL changes Histograms to not measure time themselves. Measurements
      > happen in the *HistogramScopes:
      > - BaseTimedHistogramScope: Base functionality
      > - TimedHistogramScope: For non-nested measurements
      > - NestedTimedHistogramScope: For nested measurements
      > - PauseNestedTimedHistogramScope: Ignore time during a given scope.
      >   This is used to pause timers during callbacks.
      >
      > Additional changes:
      > - ExternalCallbackScope now contains a PauseNestedTimedHistogramScope
      >   and always sets VMState<EXTERNAL>
      >
      > Bug: v8:11946
      > Change-Id: I45e4b7ff77b5948b605dd50539044cb26222fa21
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3001345
      > Reviewed-by: Omer Katz <omerkatz@chromium.org>
      > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
      > Reviewed-by: Victor Gomes <victorgomes@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#76111}
      
      Bug: v8:11946
      Change-Id: I954de1afbabf101fb5d4f52eca0d3b80a723385b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077153
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Owners-Override: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#76138}
      a12c6fa2