- 06 Jul, 2022 1 commit
-
-
Dominic Cooney authored
Bug: v8:13004 Change-Id: I6b29094a7fcea75d46328e686961e7a1f25343fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3746216Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Dominic Cooney <dpc@fb.com> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#81567}
-
- 05 Jul, 2022 3 commits
-
-
Manos Koukoutos authored
This is a reland of commit 2d74bfa4 Difference compared to original: Restore one needed include. Original change's description: > Remove some unused includes > > Mostly src/api, src/asmjs. src/ast, src/base, src/wasm. > > Bug: v8:13006 > Change-Id: If4e85afe003fda9f8a681077827c3502e939fe57 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742702 > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81523} Bug: v8:13006 Change-Id: I88c45059572fa25af4e0999f479ba5c28572db7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3746077Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#81539}
-
Manos Koukoutos authored
This reverts commit 2d74bfa4. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac%20-%20arm64%20-%20debug%20builder/7403/overview Original change's description: > Remove some unused includes > > Mostly src/api, src/asmjs. src/ast, src/base, src/wasm. > > Bug: v8:13006 > Change-Id: If4e85afe003fda9f8a681077827c3502e939fe57 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742702 > Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#81523} Bug: v8:13006 Change-Id: I7579dc3805ed4cbcd56488c31450c7941b430b1a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3746076 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#81526}
-
Manos Koukoutos authored
Mostly src/api, src/asmjs. src/ast, src/base, src/wasm. Bug: v8:13006 Change-Id: If4e85afe003fda9f8a681077827c3502e939fe57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3742702Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#81523}
-
- 30 Jun, 2022 1 commit
-
-
Andreas Haas authored
On old iPhones, jscvt is not availale. This CL diables jscvt on iOS in general. R=tebbi@chromium.org Bug: v8:13004 Change-Id: Ib2651d7fa43892c06dc8c36e497a8c76344b5051 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726297Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81462}
-
- 27 Jun, 2022 1 commit
-
-
Anton Bikineev authored
Since v8config.h already defines the related logic for OS detection, it should be fine to move arch detection also there. The CL also makes Oilpan use one of those macros to avoid discrepancy between the compiler and custom macros (the discrepancy occurs for host tools, e.g. mksnapshot). Bug: chromium:1336222 Change-Id: Ibe7d9116d27c3e816f4778fd4c149d8142d0f7a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726208 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81397}
-
- 17 Jun, 2022 1 commit
-
-
Shu-yu Guo authored
Due to shared GCs it's easy to accidentally deadlock V8 by forgetting to park a thread before blocking. This CL does the following: - Adds ParkingConditionVariable and ParkingSemaphore, which hide the Wait[For] methods in favor of ParkedWait[For], which parks the thread before blocking the thread. - Migrate to the Parking* variants in JS shared memory tests. Bug: v8:11708 Change-Id: I6d1b2b26a05e7df0a69a1614c03308f538a8782f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3708017Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#81225}
-
- 09 Jun, 2022 1 commit
-
-
Samuel Groß authored
The flag is causing build failures in some environments (when it is not defined) and it is not actually needed since the behaviour of these FDs across fork/exec isn't defined and this code is only used for testing. Bug: chromium:1218005 Change-Id: If2bf6835705318079af56d920017accedaf769dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695583 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81032}
-
- 21 May, 2022 1 commit
-
-
Shu-yu Guo authored
TSAN intercepts atomic accesses and uses locking. Since YIELD_PROCESSOR is used in spinlock loops in conjunction with atomic accesses, such spinlock loops can exhibit starvation in TSAN. To work around the problem, have YIELD_PROCESSOR sleep the process for 1ms. Change-Id: I042368cfc6b55abdba5c897a8f23cc633a70ba13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3651514Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#80679}
-
- 16 May, 2022 2 commits
-
-
Marja Hölttä authored
Bug: v8:11111,v8:1321980 Change-Id: I4dead5d50a2e1a9c1011c16d13aad2722598e456 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3642297Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80541}
-
Clemens Backes authored
GCC complains about empty format strings, and also clang already required special-handling for this case. We could either drop it, since statically empty strings are not that useful anyway, but for completeness I fix it via "if constexpr" instead. R=tebbi@chromium.org Bug: chromium:1323177 Change-Id: I4d59e1b361afd1edcd552e8a9ce395759646e67f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3644433Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80540}
-
- 13 May, 2022 2 commits
-
-
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}
-
- 10 May, 2022 1 commit
-
-
Peter Kasting authored
This prevents "ambiguous call" warnings when compiling in C++20 mode. Bug: chromium:1284275 Change-Id: I52f782aaddfad1920e4b2df5e916b2c292cc7cff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3630346 Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Peter Kasting <pkasting@chromium.org> Cr-Commit-Position: refs/heads/main@{#80458}
-
- 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}
-
- 03 May, 2022 1 commit
-
-
Samuel Groß authored
While nullptr also mostly seems to work, GetCurrentProcess() is the correct way of specifying the current process for operations like MapViewOfFile3 or VirtualAlloc2. Bug: chromium:1218005 Change-Id: I988140374a708018dca089c29eb699e0536a5285 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3620288Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#80324}
-
- 29 Apr, 2022 1 commit
-
-
Samuel Groß authored
Bug: chromium:1320784 Change-Id: I7057e294913d3305784af6fc610be250d6431082 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3616509 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80277}
-
- 28 Apr, 2022 3 commits
-
-
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}
-
Samuel Groß authored
Bug: chromium:1320126 Change-Id: Ieab14e0793e64c607ffee656eed66efe31be65f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3610434Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#80249}
-
Samuel Groß authored
It is expected that changing page permissions can fail due to the system running out of memory. However, any other failure is unexpected and likely indicates a bug in the caller, such as changing the permissions of an invalid memory region. To allow distinguishing between these unexpected failures and expected OOM failures, this CL adds CHECKs into the low-level memory management routines to abort when an unexpected failure occurs. Similar logic could later be added to other low-level memory management routines that can legitimately fail due to OOM as well. Bug: chromium:1320126 Change-Id: I3de6f4b2aed8962c91770b81382df34384584501 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3610445 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80245}
-
- 27 Apr, 2022 1 commit
-
-
Sergey Ulanov authored
Previously the POSIX version of TimeTicks::Now() was used on Fuchsia. It's more efficient to call zx_clock_get_monotonic() directly. Bug: chromium:1317914 Change-Id: I56da954a2567bcb866100c157878176bcb7cf319 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3595601 Auto-Submit: Sergey Ulanov <sergeyu@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/main@{#80224}
-
- 26 Apr, 2022 2 commits
-
-
Igor Sheludko authored
It's necessary to support fast W^X permission switching on MacOS on ARM64 ("Apple M1"/Apple Silicon) where permission modification of RWX pages to anything else is prohibited. On all the other architectures/platforms RecommitPages() is equivalent to SetPermissions(). The new API will be used in a follow-up CLs. Bug: v8:12797 Change-Id: Id0d8b8c42c81b80cd8fa6b47c227680d7d1f9b10 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3606231Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Samuel Groß <saelo@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#80190}
-
Clemens Backes authored
This adds the implementation of the {AssemblerBufferCache} class. PKU-protected memory is allocated via the {WasmCodeManager}, which has access to the actual protection key. R=thibaudm@chromium.org Bug: v8:12809 Change-Id: Id26abd6f98248d5c646ae337ccb903d3e168bed1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3593137Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80181}
-
- 25 Apr, 2022 2 commits
-
-
Igor Sheludko authored
This CL extends BoundedPageAllocator with PageFreeingMode parameter which controls how pages should be freed: by setting permissions to kNoAccess (preferred) or by discarding pages (Apple Silicon specific behavior for RWX pages). The latter mode allows to ensure that once pages are configured with RWX permissions they are never reconfigured to anything else again. The new mode will be used in a follow-up CL. Bug: v8:12797 Change-Id: I3277f56ea6fee9c9b38b1682e68c22e66e9a02a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3606228Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#80162}
-
Tobias Tebbi authored
TurboShaft is a new, CFG-based IR for TurboFan. This CL adds the basic IR and bidirectional translation from/to TurboFan's sea-of-nodes-based IR for some common operators (still incomplete even for JS). Bug: v8:12783 Change-Id: I162fdf10d583a9275a9f655f5b44b888faf813f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563562Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#80136}
-
- 22 Apr, 2022 4 commits
-
-
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}
-
Tobias Tebbi authored
This reverts commit 267b962d. Reason for revert: Flake turned out to not be reproducible: https://ci.chromium.org/ui/p/v8/builders/try.triggered/v8_flako/b8816185753319345009/overview Original change's description: > Revert "[base/platform] Simplify fast TLS on macOS" > > This reverts commit 9cdee4f4. > > Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64%20-%20debug/38658/overview > > Original change's description: > > [base/platform] Simplify fast TLS on macOS > > > > Since the TLS offset is constant across all supported OS releases, we > > no longer need to adjust it, nor to read it at runtime. This also aligns > > the code in V8 with what is done in Chromium. > > > > Change-Id: I0f3c54da39a776406083c897de888f06c61852b8 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599481 > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > > Commit-Queue: Benoit Lize <lizeb@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#80106} > > Change-Id: Ie6371c2ad12ed6f63be51b819083a7c0c4e22751 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3602502 > Auto-Submit: Tobias Tebbi <tebbi@chromium.org> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Owners-Override: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80108} Change-Id: I6c50a568751a3892b82fe2dce6fe940fce293b3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3602503 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#80110}
-
Tobias Tebbi authored
This reverts commit 9cdee4f4. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64%20-%20debug/38658/overview Original change's description: > [base/platform] Simplify fast TLS on macOS > > Since the TLS offset is constant across all supported OS releases, we > no longer need to adjust it, nor to read it at runtime. This also aligns > the code in V8 with what is done in Chromium. > > Change-Id: I0f3c54da39a776406083c897de888f06c61852b8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599481 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Benoit Lize <lizeb@chromium.org> > Cr-Commit-Position: refs/heads/main@{#80106} Change-Id: Ie6371c2ad12ed6f63be51b819083a7c0c4e22751 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3602502 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#80108}
-
Benoît Lizé authored
Since the TLS offset is constant across all supported OS releases, we no longer need to adjust it, nor to read it at runtime. This also aligns the code in V8 with what is done in Chromium. Change-Id: I0f3c54da39a776406083c897de888f06c61852b8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599481Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Benoit Lize <lizeb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80106}
-
- 20 Apr, 2022 2 commits
-
-
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}
-
Victor Gomes authored
Since next() comes from ThreadedListTraits, the users of this class can modify the list by modifying the next pointer. This however breaks the invariant that `tail_` points to the last element of the list. We ensure this invariant lazily. This should be _almost_ no effect for users that do not manually modify the next pointer. Change-Id: If46283ab4fc5036a81f353b25823b0fd39b3e232 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578803Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#80042}
-
- 19 Apr, 2022 3 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}
-
Clemens Backes authored
AtomicWord will either alias Atomic32 or Atomic64, depending on the platform. By slightly changing the definition to encode this directly instead of relying on intptr_t, we can get rid of a number of compatibility helpers that cast between pointers to equally sized atomics. R=mlippautz@chromium.org Bug: v8:12425 Change-Id: I04e8433cba5af8cf398d75d7832b84680109cf8b Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3586988Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80017}
-
- 12 Apr, 2022 1 commit
-
-
Victor Gomes authored
We track untagged values through the InterpreterFrameState, that allows us to re-use already emitted CheckedSmiUntag and elide CheckedSmiTag whenever the next node wants the untagged value as input. It uses LoadRegisterTaggedValue, LoadRegisterSmiUntaggedValue and accumulator variants as helper in the graph builder. Spilled values can now be untagged, since we currently do not support stack slot re-use, we use a ZoneVector to keep track of the stack slot representation. We tag (lazily) any value that will be passed as input to a Phi node. Bug: v8:7700 Change-Id: I34cb69c8f1fbeb6a8158a251a4dd2e114e894ea0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574559Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/main@{#79939}
-
- 11 Apr, 2022 1 commit
-
-
Jakob Gruber authored
This is a reland of commit 51b99213 Fixed in reland: - bytecode_age was incorrectly still accessed as an int8 (instead of int16). - age and osr state were incorrectly reset on ia32 (16-bit write instead of 32-bit). Original change's description: > [osr] Add an install-by-offset mechanism > > .. for concurrent OSR. There, the challenge is to hit the correct > JumpLoop bytecode once compilation completes, since execution has > moved on in the meantime. > > This CL adds a new mechanism to request installation at a specific > bytecode offset. We add a new `osr_install_target` field to the > BytecodeArray: > > bitfield struct OSRUrgencyAndInstallTarget extends uint16 { > osr_urgency: uint32: 3 bit; > osr_install_target: uint32: 13 bit; > } > > // [...] > osr_urgency_and_install_target: OSRUrgencyAndInstallTarget; > bytecode_age: uint16; // Only 3 bits used. > // [...] > > Note urgency and install target are packed into one 16 bit field, > we can thus merge both checks into one comparison within JumpLoop. > Note also that these fields are adjacent to the bytecode age; we > still reset both OSR state and age with a single (now 32-bit) > store. > > The install target is the lowest 13 bits of the bytecode offset. > When set, every reached JumpLoop will check `is this my offset?`, > and if yes, jump into runtime to tier up. > > Drive-by: Rename BaselineAssembler::LoadByteField to LoadWord8Field. > > Bug: v8:12161 > Change-Id: I275d468b19df3a4816392a2fec0713a8d211ef80 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571812 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Jakob Linke <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79853} Bug: v8:12161 Change-Id: I7c59b2a2aacb1d7d40fdf39396ec9d8d48b0b9ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578543Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79911}
-
- 08 Apr, 2022 1 commit
-
-
Clemens Backes authored
Replace by a unary right fold using the comma operator. This also evaluates from left to right, so has the same semantics but uses standard C++17 syntax. R=tebbi@chromium.org Bug: v8:12425 Change-Id: I680800ba07b048ee85d9da4ae32c12825df14e54 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576131Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79877}
-
- 07 Apr, 2022 2 commits
-
-
Clemens Backes authored
Use C++17's std::conjunction together with std::is_same instead. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I75a973f14f0642b00d390aa6ab4eb1ce0208c074 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568478Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79848}
-
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}
-
- 06 Apr, 2022 1 commit
-
-
Clemens Backes authored
Replace by std types defined in <type-traits> since C++17. R=mslekova@chromium.org Bug: v8:12425 Change-Id: I7ec8454634ecb63a3da4f93412d7a6c5002bb7c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3572045Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79818}
-