- 19 Jul, 2022 1 commit
-
-
Manos Koukoutos authored
Mostly test/fuzzer, test/inspector, test/unittests. Bug: v8:13006 Change-Id: I825efa5d72a224bb3cb9f86a9fac8763e9dbd1cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3769696Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81799}
-
- 27 Jun, 2022 1 commit
-
-
jameslahm authored
... base/atomicops-unittest. Bug: v8:12781 Change-Id: Iac23576cca9c50c2281a2d7e781dde4750e54c03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3711344Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#81394}
-
- 10 Jun, 2022 1 commit
-
-
jameslahm authored
... base/platform/platform-unittest. Bug: v8:12781 Change-Id: I05902bfa5ad6f391f7b7ffa8b22b46627c244fef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688893 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#81068}
-
- 01 Jun, 2022 1 commit
-
-
jameslahm authored
... hashmap-unittest. Bug: v8:12781 Change-Id: Id2d4c1d41540791e4c32919d4da4648565ac9faf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3682880Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#80880}
-
- 17 May, 2022 1 commit
-
-
jameslahm authored
... ,test-fast-dtoa, test-fixed-dtoa} to unittests/base/ {bignum-dtoa-unittest, dtoa-unittest, fast-dtoa-unittest, fixed-dtoa-unittest}. This CL also moves cctest/{gay-fixed, gay-precision, gay-shortest} to unittest/{gay-fixed, gay-precision, gay-shortest}. Bug: v8:12781 Change-Id: Id6072f92908ad3abfe683c69dac041227de2553f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3607114 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80572}
-
- 16 May, 2022 1 commit
-
-
jameslahm authored
... /base/double-unittest. Bug: v8:12781 Change-Id: I13817728735a53fbc28a4e2d1babdcbd9bbf419d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3607113 Commit-Queue: 王澳 <wangao.james@bytedance.com> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#80556}
-
- 13 May, 2022 3 commits
-
-
Clemens Backes authored
MSVC does not implicitly convert the std::array iterator to a char*, hence explicitly use the {data()} accessor instead of {begin()}, which is cleaner anyway. R=mlippautz@chromium.org Bug: chromium:1323177 Change-Id: I65c6836889eb57a18b655cb9e6c98008a8fbcaac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3644794 Auto-Submit: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#80533}
-
Clemens Backes authored
This introduces a class which can be used for formatting dynamic values into a constant-size, stack-allocated array. You get ostream-style code but printf-style performance, and in particular no dynamic allocation. This makes this class also suitable to be used in OOM or other fatal situations where we cannot rely on dynamic memory allocation to still work. Using FormattedString will automatically compute the format string depending on the types. It also computes the maximum size of the output. Last but not least, it makes the code a lot more readable than traditional printf style printing. R=mlippautz@chromium.org Bug: chromium:1323177 Change-Id: I47228b3603c694c1fa23516dd3f1c57e39c0ca35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3644622 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80529}
-
Clemens Backes authored
Now that we require C++17 support, we can just use the standard static_assert without message, instead of our STATIC_ASSERT macro. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I1d4e39c310b533bcd3a4af33d027827e6c083afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647353Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80524}
-
- 05 May, 2022 1 commit
-
-
Peter Kasting authored
This prevents ambiguity errors in C++20 due to ADL when casting types in std::, which gains std::bit_cast<>(). Bug: chromium:1284275 Change-Id: I25046d1952a9304852e481ad8b84049c6769c289 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3625838 Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#80378}
-
- 28 Apr, 2022 1 commit
-
-
Benoît Lizé authored
There are three ways to parse /proc/self/maps in platform-linux.cc, remove one to use common code. In the process, add a unit test, and fix some issues in the latest iteration of /proc/self/maps parsing. Change-Id: I4701ea49fe8cce53aea0179e194dc48fbebb2ff5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3605226 Commit-Queue: Benoit Lize <lizeb@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#80258}
-
- 25 Apr, 2022 1 commit
-
-
jameslahm authored
... /base/bignum-unittest. Bug: v8:12781 Change-Id: I217dd7c4ef59cf1fdbe83a268d0288c38f0e9d4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599401Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#80138}
-
- 22 Apr, 2022 1 commit
-
-
Milad Fa authored
There is currently a bug in docker where fstat may not return the correct device id and as a result a check under `OS::RemapPages, stat_buf.st_dev != enclosing_region.dev` fails, details on the bug: https://github.com/moby/moby/issues/43512 Platform specific page sizes are also defined for kMaxPageSize to fix compilation errors. Change-Id: I026609329aa6432eda4f1880a0f586c0c2162461 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3601211Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#80111}
-
- 20 Apr, 2022 2 commits
-
-
Shu-yu Guo authored
See https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1172178/overview Change-Id: I97d25fd36c4b5fce4eb1d86c423443c2395af793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3598030Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#80067}
-
Benoît Lizé authored
Reason for reland: Fixed Fuchsia build. Original change's description: > [builtins] Remap builtins on Linux > > This is a CL similar to > https://chromium-review.googlesource.com/c/v8/v8/+/3553006, but on Linux > rather than macOS. The goal is to allow builtins to use short builtin > calls without paying a memory cost, by remapping rather than copying > them. > > However, while macOS has a system call making this easier, on Linux we > don't have one on most kernels. There is the recently-introduced > mremap(MREMAP_DONTUNMMAP), which is available in 5.7, but only works on > anonymous mappings until 5.13, which is too recent for most Android > devices. > > Instead, we open() the file containing the builtins, and mmap() it at > the desired location. > > Change-Id: I4524f349948b8f48c4536cf392a1cd179662a6cc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570426 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Linke <jgruber@chromium.org> > Commit-Queue: Benoit Lize <lizeb@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80022} Change-Id: I0cc8cf510bd2cb8621130bea8406d79aa209948c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3596164Reviewed-by:
Jakob Linke <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80049}
-
- 19 Apr, 2022 2 commits
-
-
Shu-yu Guo authored
This reverts commit b1dd8287. Reason for revert: Breaking fuschia build https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Fuchsia%20-%20builder/13592/overview Original change's description: > [builtins] Remap builtins on Linux > > This is a CL similar to > https://chromium-review.googlesource.com/c/v8/v8/+/3553006, but on Linux > rather than macOS. The goal is to allow builtins to use short builtin > calls without paying a memory cost, by remapping rather than copying > them. > > However, while macOS has a system call making this easier, on Linux we > don't have one on most kernels. There is the recently-introduced > mremap(MREMAP_DONTUNMMAP), which is available in 5.7, but only works on > anonymous mappings until 5.13, which is too recent for most Android > devices. > > Instead, we open() the file containing the builtins, and mmap() it at > the desired location. > > Change-Id: I4524f349948b8f48c4536cf392a1cd179662a6cc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570426 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Linke <jgruber@chromium.org> > Commit-Queue: Benoit Lize <lizeb@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80022} Change-Id: I0093fe84216f8c8fd1a8691c53817e578d92fa40 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3594009 Auto-Submit: Shu-yu Guo <syg@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shu-yu Guo <syg@chromium.org> Owners-Override: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#80028}
-
Benoît Lizé authored
This is a CL similar to https://chromium-review.googlesource.com/c/v8/v8/+/3553006, but on Linux rather than macOS. The goal is to allow builtins to use short builtin calls without paying a memory cost, by remapping rather than copying them. However, while macOS has a system call making this easier, on Linux we don't have one on most kernels. There is the recently-introduced mremap(MREMAP_DONTUNMMAP), which is available in 5.7, but only works on anonymous mappings until 5.13, which is too recent for most Android devices. Instead, we open() the file containing the builtins, and mmap() it at the desired location. Change-Id: I4524f349948b8f48c4536cf392a1cd179662a6cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570426Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Linke <jgruber@chromium.org> Commit-Queue: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80022}
-
- 07 Apr, 2022 1 commit
-
-
Clemens Backes authored
They can be replaced by std::conjunction and c++17 folding expressions. R=tebbi@chromium.org Bug: v8:12425 Change-Id: I109ac904245aab431f11752eff5129fd4361de8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3570428Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79843}
-
- 01 Apr, 2022 1 commit
-
-
Benoit Lize authored
For short builtin calls, the builtins are copied on the heap when they cannot be put close enough to be in range of relative calls. This costs memory, as the embedded builtins are part of the binary, and mapped from the binary, and as a consequence shared with all running processes. Rather than copying the memory, we can remap it at a different address, avoiding the memory cost. This CL does that, on ARM64 macOS only for now. This saves at least ~1.4MiB of memory per V8 process. See below the output of vmmap <PID>: [...] Memory Tag 255 7408308000-740833c000 [ 208K 144K 144K 0K] r-x/rwx SM=ZER Memory Tag 255 740833c000-7408340000 [ 16K 0K 0K 0K] ---/rwx SM=ZER Memory Tag 255 7408344000-7408348000 [ 16K 0K 0K 0K] ---/rwx SM=ZER Memory Tag 255 7408348000-740837c000 [ 208K 144K 144K 0K] r-x/rwx SM=ZER Memory Tag 255 740837c000-740fe80000 [123.0M 0K 0K 0K] ---/rwx SM=ZER mapped file 740fe80000-740ffe4000 [ 1424K 1328K 0K 0K] r-x/rwx SM=COW ...pp/Contents/Frameworks/Chromium Framework.framework/Versions/102.0.4958.0/Chromium Framework Memory Tag 255 740ffe4000-7410000000 [ 112K 0K 0K 0K] ---/rwx SM=ZER The "208K" regions are 256kiB code pages, minus the header and guard pages, meaning that they are code chunks. The mapped file are the remapped builtins, showing that they aren't copied, but remapped from the binary. Bug: chromium:1298417 Change-Id: Ia30a43e671726d01450a7db0ecb7777b34763053 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3553006Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79716}
-
- 07 Mar, 2022 1 commit
-
-
Samuel Groß authored
Instead of returning a boolean success/failure value, the Free* methods of the VirtualAddressSpace API now terminate the process on failure, as this implies a bug in the caller. This is simpler than CHECKing for success in all callers and also provides more details about the possible cause of the failure. Bug: v8:12656 Change-Id: I5b469ae2c564068cff74e60b7e98f6a4776a239d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3506992Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79388}
-
- 18 Feb, 2022 1 commit
-
-
Samuel Groß authored
Previously, V8_OS_MACOSX was, somewhat confusingly, also used for iOS. With this CL, V8_OS_DARWIN will be set on both macOS and iOS, V8_OS_MACOS only on macOS, and V8_OS_IOS only on iOS. This CL also renames V8_TARGET_OS_MACOSX to V8_TARGET_OS_MACOS and renames platform-xnu.cc to platform-darwin.cc. Change-Id: I4bcafc7c337586662114144f6c7ccf47d978da1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3468577Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79167}
-
- 16 Feb, 2022 2 commits
-
-
Samuel Groß authored
This API allows allocating shared memory mappings inside a virtual address space from a platform-specific handle to a shared memory object. This will make it possible to allocate shared memory inside the sandbox, for example as backing memory for ArrayBuffers. Bug: chromium:1218005 Change-Id: I4f1f50baec50734e846496cff78046e4fffe75c5 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3383777Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79123}
-
Samuel Groß authored
These should not be allowed inside the sandbox as they could be corrupted by an attacker, thus posing a security risk. Furthermore, executable pages require MAP_JIT on macOS, which causes fork() to become excessively slow, in turn causing tests to time out. Due to this, the sandbox now requires the external code space. In addition, this CL adds a max_page_permissions member to the VirtualAddressSpace API to make it possible to verify the maximum permissions of a subspace. Bug: v8:10391 Change-Id: Ib9562ecff6f018696bfa25143113d8583d1ec6cd Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3460406Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79119}
-
- 04 Feb, 2022 1 commit
-
-
Clemens Backes authored
TimeTicks::HighResolutionNow is identical to TimeTicks::Now since 2018 (https://crrev.com/c/997153), but the declaration still has a wrong comment about a non-existing DCHECK. In order to avoid confusion, remove the redundant method and just use TimeTicks::Now everywhere. Drive-by: Make IsHighResolutionTimer "inline" instead of "V8_INLINE" because it will only be called once anyway. R=mlippautz@chromium.org Bug: v8:12425 Change-Id: I31dc65f8c1ac910862e070e60e928054d4921154 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3439909Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#78944}
-
- 18 Jan, 2022 1 commit
-
-
Samuel Groß authored
These tests cover the basic VirtualAddressSpace functionality for the three different types of address spaces currently available: the root space, subspaces, and emulated subspaces. This CL also includes minor bugfixes in VirtualAddressSpace implementations and removes RandomizedVirtualAlloc in platform-win32.cc which doesn't seem to do anything useful anymore but prevents page allocation hints from working correctly. Bug: v8:10391 Change-Id: Ifa260d18fd366516b5a41ab42ce2f1785c57d061 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386801Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#78666}
-
- 11 Aug, 2021 1 commit
-
-
Samuel Groß authored
When this is enabled, v8 reserves a large region of virtual address space during initialization, at the start of which it will place its 4GB pointer compression cage. The remainder of the cage is used to store ArrayBuffer backing stores and WASM memory buffers. This will later allow referencing these buffers from inside V8 through offsets from the cage base rather than through raw pointers. Bug: chromium:1218005 Change-Id: I300094b07f64985217104b14c320cc019f8438af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3010195Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@google.com> Cr-Commit-Position: refs/heads/master@{#76234}
-
- 09 Aug, 2021 1 commit
-
-
Camillo Bruni authored
This is a reland of fffcbaea Additional fixes: - Relax IsStarted DCHECKs in ElapsedTimer for paused_elapsed - Add LogEventStatus enum in the API for better testing - Rename Logger::StartEnd enum values to kXXX - Add additional NestedTimedHistogramScope tests 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: Ic2eef7456fbc245febcf780b23418f6ab0bebdb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3080566 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76180}
-
- 06 Aug, 2021 1 commit
-
-
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}
-
- 05 Aug, 2021 1 commit
-
-
Camillo Bruni authored
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/+/3001345Reviewed-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}
-
- 03 Aug, 2021 1 commit
-
-
Bruce Dawson authored
Windows.h causes massive namespace pollution with its defining of many macros, it adds to build times, it disables warnings, and it makes it easier to write non-portable code. This change removes windows.h from V8's win32-headers.h. It does this by replicating the small number of typedefs that are needed and by defining three "proxy" types that are the same size and layout. The V8ToWindowsType functions are used to reinterpret_cast between the types. Prior to this change there were over 760 v8-related source files that include windows.h. After this change there are 16. Bug: chromium:796644 Change-Id: I89efeed47028faae72de2da4f1dae345d8d7746c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3042215 Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76064}
-
- 05 Jul, 2021 1 commit
-
-
Piotr Tworek authored
Commit 26d85ace "Use IMMEDIATE_CRASH on official build FATAL errors." has changed how FATAL macro behaves on such builds. Unfortunately this affects logging and random number generator v8 unittests which use ASSERT_DEATH_IF_SUPPORTED macro. After the change we no longer get any v8 CHECK crash messages on official builds thus failing those tests. Fix this by adjusting failing test expectations to reflect the new, expected results v8 now has on official builds. Change-Id: Ice9718c5e887b42a0cfd583340256f7d2591add4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2991238Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75547}
-
- 18 Jun, 2021 1 commit
-
-
Dan Elphick authored
The adding of base:: was mostly prepared using git grep and sed: git grep -l <pattern> | grep -v base/vector.h | \ xargs sed -i 's/\b<pattern>\b/base::<pattern>/ with lots of manual clean-ups due to the resulting v8::internal::base::Vectors. #includes were fixed using: git grep -l "src/utils/vector.h" | \ axargs sed -i 's!src/utils/vector.h!src/base/vector.h!' Bug: v8:11879 Change-Id: I3e6d622987fee4478089c40539724c19735bd625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968412Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75243}
-
- 09 Jun, 2021 1 commit
-
-
Peter Kasting authored
Bug: chromium:1216696 Change-Id: I0918215c2e2b845bd7b39e06128d74382a467b05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2950262 Commit-Queue: Peter Kasting <pkasting@chromium.org> Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#75062}
-
- 30 Apr, 2021 1 commit
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=ahaas@chromium.org Bug: v8:11717 Change-Id: Ica92f4ddc9c351c1c63147cbcf050086ca26cc07 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859854 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#74297}
-
- 23 Apr, 2021 1 commit
-
-
Almothana Athamneh authored
Bug: chromium:934932 Change-Id: I9e7940b645cfad8da40950de86c2a5a7feedccff Cq-Include-Trybots: luci.v8.try:v8_fuchsia_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2846894Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Cr-Commit-Position: refs/heads/master@{#74160}
-
- 12 Mar, 2021 1 commit
-
-
Clemens Backes authored
We still get e.g. ClusterFuzz reports with enums printed as non-printable single-character strings (see linked bug). This CL fixes this, and also includes the integral enum value for enum that come with their own output operator. This makes error messages strictly better, at the cost of some more code per enum which is being used in a CHECK/DCHECK. Note that binary size of release builds is not affected, since we do not print the values there. R=nicohartmann@chromium.org Bug: v8:11384, chromium:1187484 Change-Id: I066b32f68440096babed9b629c7ffe3f2285cba8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2756226Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73373}
-
- 25 Feb, 2021 1 commit
-
-
pthier authored
VLQ encoding was implemented in TranslationArray and Sparkplug PC <-> bytecode mapping. This CL introduces new VLQ helper methods used in both. Bug: v8:11429 Change-Id: I89d9777eab4ad28f08e5957421b63df07e37f9cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704674Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73054}
-
- 05 Jan, 2021 1 commit
-
-
Clemens Backes authored
The tests were failing in official release builds, because those drop the fatal error message and always print "ignored" instead. R=ecmziegler@chromium.org Bug: v8:11251 Change-Id: I40512ca308337cf070ecb6a206dc4a5323d67415 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595445Reviewed-by:
Emanuel Ziegler <ecmziegler@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71914}
-
- 17 Dec, 2020 1 commit
-
-
Zhi An Ng authored
- Add the appropriate cpuid checks to detect AVX2 in base/cpu - Add FLAG_enable_avx2 AVX2 depends on AVX support, + a cpuid check with eax=7. This is similar to chromium/src/base/cpu.cc check for AVX2. Bug: v8:11258 Change-Id: Ia547c22e51b03fec823f5e48ebb055139632c942 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2589050Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71821}
-
- 06 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I7b34b6a647bf9ad317bdb97a344739302f892957 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2519184Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#70997}
-