- 06 Dec, 2021 1 commit
-
-
Dominik Inführ authored
When performing a shared GC, we need to find references from the client heaps into the shared heaps. For now we achieve this by simply iterating all objects in client heaps. We need to do this both for marking and when updating pointers after evacuation. Bug: v8:11708 Change-Id: Ic1dd94cc352be0404095e548979c37b1ef25682a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3300142 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78240}
-
- 04 Dec, 2021 1 commit
-
-
Samuel Groß authored
This interface is meant to eventually replace the existing v8::PageAllocator interface. Beyond general refactoring of the PageAllocator APIs, the new interface now supports the concept of (contiguous) address space reservations, which previously had to be implemented through page allocations. These reservations now make better use of provided OS primitives on Fuchsia (VMARs) and Windows (placeholder mappings) and can be used to back many of the cages and virtual memory regions that V8 creates. The new interface is not yet stable and may change at any time without deprecating the old version first. Bug: chromium:1218005 Change-Id: I295253c42e04cf311393c5dab9f8c06bd7451ce3 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/+/3301475 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78235}
-
- 30 Nov, 2021 4 commits
-
-
Frank Tang authored
Implement the changes in https://github.com/tc39/proposal-intl-locale-info/pull/44 So weekInfo will return weekend as an array instead of weekendStart and weekendEnd. Bug: v8:11638 Change-Id: I775b003b36f67179943911faa7f77a323ad9f6f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307685Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#78172}
-
Adam Klein authored
This reverts commit 3ee4804f. Reason for revert: breaks blink_unit_tests: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux/15074/overview Original change's description: > [top-level-await] Remove --harmony-top-level-await > > TLA has been shipped since v8.9. > > Bug: v8:9344, chromium:1271114 > Change-Id: Ibebf21da8bacb1f0d212390133847495ad8553e5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307103 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78169} Bug: v8:9344, chromium:1271114 Change-Id: I0874bcaba18fde3b48f5ef7eeae89f2fa4978d51 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3308422 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78170}
-
Shu-yu Guo authored
TLA has been shipped since v8.9. Bug: v8:9344, chromium:1271114 Change-Id: Ibebf21da8bacb1f0d212390133847495ad8553e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307103 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78169}
-
Camillo Bruni authored
- V8::Deprecate ShutdownPlatform in favor of V8::DisposePlatform - Rename i::V8::TearDown to i::V8::Dispose - Clean up i::V8::Initialize - Remove needless V8::Initialize() calls in cctests - Remove CcTest::DisableAutomaticDispose() - Add checks to Isolate::Allocate and Isolate::Dispose that there is and active platform Change-Id: Iac84f9ade9d1781e9e8b8c88ea8fe74013f51c4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306482 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78162}
-
- 25 Nov, 2021 1 commit
-
-
Igor Sheludko authored
Bug: v8:11256, chromium:1271807 Change-Id: Ifcef3d4cce0bda8dd18723b9b0ac22ad73c86773 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3296287 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#78086}
-
- 22 Nov, 2021 1 commit
-
-
Dominik Inführ authored
This is a reland of 90a9d6cb The original CL got reverted because of two different issues: * The DCHECK failure on AllowGarbageCollection::IsAllowed() got fixed in https://crrev.com/c/3289625. * The crash with the incremental marking job were because of a nested GC started from a SafepointScope. This CL adds IgnoreLocalGCRequests scopes to SafepointScopes in src/heap. In addition this CL prevents shared GCs during isolate deserialization by locking the clients_mutex_ until the isolate is fully deserialized. The original GC used a DisallowSafepoints scope to prevent shared GCs from interrupting isolate deserialization. Original change's description: > [heap] Support multiple clients in shared GC > > Add support for safepointing multiple isolates as described in the > design doc (link is below). A safepoint across multiple isolates is > considered a global safepoint to distinguish it from regular safepoints. > > The basic idea behind the implementation is that we reach a > safepoint for each client. What's new is that now also main threads > need to participate in the safepointing protocol and need to give up > control in time. The slow paths of Park(), Unpark() and Safepoint() on > the main thread need to be adjusted for this reason as well. > > This CL introduces GlobalSafepoint and GlobalSafepointScope to mirror > IsolateSafepoint and IsolateSafepointScope. > > This CL adds the type IgnoreLocalGCRequests, it is used to prevent > Park() and Unpark() from honoring the request from background threads > to perform a local GC. This is used heap-internally to not have GCs > (or even nested GCs) in certain locations. E.g. when initiating a > safepoint to perform a GC we don't want a "recursive" GC to occur. > > Design doc: https://docs.google.com/document/d/1y6C9zAACEr0sBYMIYk3YpXosnkF3Ak4CEuWJu1-3zXs/edit?usp=sharing > > Bug: v8:11708 > Change-Id: I5aca8f5f24873279271a53be3bb093fc92a1a1eb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009224 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77812} Bug: v8:11708, v8:12375, v8:12377 Change-Id: I9d1af6fbc06a3a8b6f216ec5e9027665ad071809 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3283067 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78013}
-
- 20 Nov, 2021 1 commit
-
-
Frank Tang authored
Remove two flags for feature shipped in m95 --harmony_intl_displaynames_v2 --harmony_intl_more_timezone Bug: v8:11637, v8:11661 Change-Id: I9432865722664f64c64b5bf7fde5e05e6b324b20 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3292518Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#78005}
-
- 15 Nov, 2021 3 commits
-
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: Icfdf2666220ac06c01b6220b4ac99b9ad00818dc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3278687Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77911}
-
Frank Tang authored
This is a reland of 5e041b82 Original change's description: > [cleanup] Remove harmony-intl-dateformat-day-period > > harmony-intl-dateformat-day-period is shipped in M92 > > Bug: v8:12109 > Change-Id: I7d24463c0cc353c4baf52326159beb04592b81b5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3099087 > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76468} Bug: v8:12109 Change-Id: Iff4a9c706d0b0092f077d67e4e840292bd8024a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3276921Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#77909}
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I3029cfb8e9afdcb5e53aa406359aa7246c23ea40 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3274021Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77906}
-
- 11 Nov, 2021 1 commit
-
-
Dominik Inführ authored
This reverts commit 90a9d6cb. Reason for revert: Seems to make some test to fail flakily. Revert for now until this is fixed. Original change's description: > [heap] Support multiple clients in shared GC > > Add support for safepointing multiple isolates as described in the > design doc (link is below). A safepoint across multiple isolates is > considered a global safepoint to distinguish it from regular safepoints. > > The basic idea behind the implementation is that we reach a > safepoint for each client. What's new is that now also main threads > need to participate in the safepointing protocol and need to give up > control in time. The slow paths of Park(), Unpark() and Safepoint() on > the main thread need to be adjusted for this reason as well. > > This CL introduces GlobalSafepoint and GlobalSafepointScope to mirror > IsolateSafepoint and IsolateSafepointScope. > > This CL adds the type IgnoreLocalGCRequests, it is used to prevent > Park() and Unpark() from honoring the request from background threads > to perform a local GC. This is used heap-internally to not have GCs > (or even nested GCs) in certain locations. E.g. when initiating a > safepoint to perform a GC we don't want a "recursive" GC to occur. > > Design doc: https://docs.google.com/document/d/1y6C9zAACEr0sBYMIYk3YpXosnkF3Ak4CEuWJu1-3zXs/edit?usp=sharing > > Bug: v8:11708 > Change-Id: I5aca8f5f24873279271a53be3bb093fc92a1a1eb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009224 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77812} # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:11708 Change-Id: I85fbf896c59492fc571b3bfaa7f9e3ea8a883260 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3275552 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77845}
-
- 10 Nov, 2021 1 commit
-
-
Dominik Inführ authored
Add support for safepointing multiple isolates as described in the design doc (link is below). A safepoint across multiple isolates is considered a global safepoint to distinguish it from regular safepoints. The basic idea behind the implementation is that we reach a safepoint for each client. What's new is that now also main threads need to participate in the safepointing protocol and need to give up control in time. The slow paths of Park(), Unpark() and Safepoint() on the main thread need to be adjusted for this reason as well. This CL introduces GlobalSafepoint and GlobalSafepointScope to mirror IsolateSafepoint and IsolateSafepointScope. This CL adds the type IgnoreLocalGCRequests, it is used to prevent Park() and Unpark() from honoring the request from background threads to perform a local GC. This is used heap-internally to not have GCs (or even nested GCs) in certain locations. E.g. when initiating a safepoint to perform a GC we don't want a "recursive" GC to occur. Design doc: https://docs.google.com/document/d/1y6C9zAACEr0sBYMIYk3YpXosnkF3Ak4CEuWJu1-3zXs/edit?usp=sharing Bug: v8:11708 Change-Id: I5aca8f5f24873279271a53be3bb093fc92a1a1eb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009224 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77812}
-
- 05 Nov, 2021 1 commit
-
-
Dominik Inführ authored
Move logic to perform a global safepoint into GlobalSafepointScope respectively GlobalSafepoint for easier reuse of this functionality in the future. Note that full functionality for a global safepoint will be provided in a subsequent CL. Bug: v8:11708 Change-Id: I80dd22c36ab01df573623aa36ead9cc373663b9b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3259531Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77719}
-
- 25 Oct, 2021 1 commit
-
-
Camillo Bruni authored
For the upcoming host_defined_options fixes we will have to explicitly pass the host-defined options to Invoke so we will be able to install it in the script context in the future. Bug: chromium:1244145 Change-Id: I690cc774d6a17278db4381aba8c3408e979606c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3222765 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77524}
-
- 19 Oct, 2021 1 commit
-
-
Samuel Groß authored
Bug: v8:10391 Change-Id: Ia123d8034c4ade76c9843df5d947fdc4ee3d8e35 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/+/3226337Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#77454}
-
- 15 Oct, 2021 1 commit
-
-
Milad Fa authored
Bug: chromium:1218005 Change-Id: I1c9aae03e460155002dfa2483c37cec4f50ec566 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3226782Reviewed-by:
Samuel Groß <saelo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#77419}
-
- 14 Oct, 2021 2 commits
-
-
Samuel Groß authored
On Windows pre 8.1, userspace is limited to 8TB of virtual address space. Take that into account when determining the size and/or placement of the virtual memory cage. Bug: chromium:1218005 Change-Id: Idda94534cad67dc2db77e9ba459e3a4b239dac2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3222763Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#77402}
-
Samuel Groß authored
This function tries to determine the number of virtual address bits available on the current CPU and with that the maximum size of the userspace address space. On x64, it can be implemented through CPUID. The result of this function is now used in two ways: first, it limits the maximum size of the virtual memory cage, currently to a quarter of the address space. Second, it influences the placement of fake cages, which are attempted to be placed into the lower half of the address space so that they are followed by large amounts of (hopefully) unused but addressable virtual memory in which pages can be allocated. Bug: chromium:1218005 Change-Id: I0edc5d241d899f16dbc47492fa1534b6aaa4aa13 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3220348 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77393}
-
- 13 Oct, 2021 2 commits
-
-
Samuel Groß authored
This is a reland of 1ea76c13 Disabled the failing test on Fuchsia until its PageAllocator respects allocation hints. Original change's description: > Implement a fake virtual memory cage mechanism > > On operating systems where reserving virtual address space is expensive, > notably Windows pre 8.1, it is not possible to create a proper virtual > memory cage. In order to still be able to reference caged objects > through offsets from the cage base on these systems, this CL introduces > a fake cage mechanism. When the fake cage is used, most of the virtual > memory for the cage is not actually reserved. Instead, the cage's page > allocator simply relies on hints to the OS to obtain pages inside the > cage. This does, however, not provide the same security benefits as a > real cage as unrelated allocations might end up inside the cage. > > Bug: chromium:1218005 > Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3 > 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/+/3217200 > Commit-Queue: Samuel Groß <saelo@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77367} Bug: chromium:1218005 Change-Id: I2ed95d121db164679c38085115e8fa92690c057e 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/+/3220151Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#77378}
-
Camillo Bruni authored
This is a reland of 9fe53c4f - Fix data-race by using an atomic for flag_hash; - Make sure flag_hash != 0 - Initialize flag_hash in V8::InitializeOncePerProcessImpl - Clear flag_hash in more cases Original change's description: > [flags] Skip --random-seed in FlagList::Hash > > Node and friends use --random-seed to temporary reset the seed for > predictable code-cache creation. To allow custom random seeds at runtime > the flag is reset for encoding the FlagList::Hash in the snapshots. > > We will soon disallow changing flags via the API after V8 has been > initialized. In order to make node work we will exclude --random-seed > from the FlagList::Hash calculation. > > Drive-by-fix: > * Lazily initialize flag_hash instead of calculating it after every call > to SetFlagsFromString / EnforceFlagImplications. > * Simplify hash string source creation since out << flag now includes > the full flag information > > Bug: v8:12309 > Change-Id: I1a168f4702d8c4d160ff12fdbea881731e4ea8b6 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218159 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77345} Bug: v8:12309 Change-Id: I12cd2931d81dc74e07a4da3564e4bf8dd151300a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218981 Commit-Queue: Marja Hölttä <marja@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#77373}
-
- 12 Oct, 2021 2 commits
-
-
Deepti Gandluri authored
This reverts commit 1ea76c13. Reason for revert: The unit test added fails on the Fuchsia bot https://ci.chromium.org/p/v8/builders/ci/V8%20Fuchsia/25976? Original change's description: > Implement a fake virtual memory cage mechanism > > On operating systems where reserving virtual address space is expensive, > notably Windows pre 8.1, it is not possible to create a proper virtual > memory cage. In order to still be able to reference caged objects > through offsets from the cage base on these systems, this CL introduces > a fake cage mechanism. When the fake cage is used, most of the virtual > memory for the cage is not actually reserved. Instead, the cage's page > allocator simply relies on hints to the OS to obtain pages inside the > cage. This does, however, not provide the same security benefits as a > real cage as unrelated allocations might end up inside the cage. > > Bug: chromium:1218005 > Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3 > 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/+/3217200 > Commit-Queue: Samuel Groß <saelo@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77367} Bug: chromium:1218005 Change-Id: I541bb9656ab2a6a080c2a30d372226fcc5c95391 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3219086 Auto-Submit: Deepti Gandluri <gdeepti@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Owners-Override: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#77368}
-
Samuel Groß authored
On operating systems where reserving virtual address space is expensive, notably Windows pre 8.1, it is not possible to create a proper virtual memory cage. In order to still be able to reference caged objects through offsets from the cage base on these systems, this CL introduces a fake cage mechanism. When the fake cage is used, most of the virtual memory for the cage is not actually reserved. Instead, the cage's page allocator simply relies on hints to the OS to obtain pages inside the cage. This does, however, not provide the same security benefits as a real cage as unrelated allocations might end up inside the cage. Bug: chromium:1218005 Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3 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/+/3217200 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#77367}
-
- 08 Oct, 2021 2 commits
-
-
Frank Tang authored
This is a reland of 0adc1410 1. Fork out test/mjsunit/temporal/function-exist.js test to test/mjsunit/temporal/function-exist-no-i18n.js and mark function-exist FAIL in no_i18n build. Original change's description: > [Temporal] Part 1 - Skeleton > > 1. Expose all the functions to empty buildins. > 2. Wire up basic structure of classes and internal slots. > > Design Doc: https://docs.google.com/document/d/1Huu2OUlmveBh4wjgx0D7ouC9O9vSdiZWaRK3OwkQZU0/ > > This is just a CL to establish a skeleton for Temporal. > The Temporal is very big. The prototype CL is in > https://chromium-review.googlesource.com/c/v8/v8/+/2967755 > but too big to be reviewed so I break up the basic structure here first. > > Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel > Bug: v8:11544 > Change-Id: I10d09e3c2530e5b1a6ba60014a2294e138879ff3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3092561 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76819} Bug: v8:11544 Change-Id: I60eaface94ba9b3408cb235cd1ae425151a36732 Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160324Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77303}
-
Samuel Groß authored
On Windows pre 8.1, reserving a large virtual memory region for the cage is too expensive as it (apparently) creates PTEs. As such, we can only create a cage with the minimum size and without guard regions. Bug: chromium:1218005 Change-Id: Ib19b9a08f8c965d9739c1d539a0153b32a290826 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3212507Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#77296}
-
- 07 Oct, 2021 2 commits
-
-
Frank Tang authored
This is a reland of a1e6efd8 Fix Android issue by checking the resources is not filtering out. Original change's description: > [intl] Fix consistency in Intl API > > Fix several edge cases consistency issues with ICU discovered by test262 test by > using Intl Enumeration API > 1. Work around ICU short coming of always fallback in currency display > name so when the fallback is "none" in DisplayNames, the force fallback > code will produce the correct undefined from the of(currency_code) method. > 2. Always check numbering system is not algorithm based numbering system > to fix DateTimeFormat/RelativeTimeFormat/NumberFormat > resolvedOptions().numberingSystem when the reqested numberingSystem is one > of the numbering systems that we filter out the resources and not supported. > 3. Generalize the iso8601 bit solution in DateTimeFormat and rename it to > alt_calendar bit to also fix DateTimeFormat resolvedOptions report > calendar as "islamic" while requesting "islamic-rgsa". > 4. Work around reporting inconsistency of currency code and display name > in ICU. > > Bug: v8:12209 > Change-Id: Ibd349ee55426fad7d6f20a5e93fb35ff7438e111 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3153576 > Commit-Queue: Frank Tang <ftang@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77242} Bug: v8:12209 Change-Id: I96e1ba33e97f6a4abbe20e23a8fdff6cdf8bc131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207380Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#77290}
-
Samuel Groß authored
Currently, when compiling with V8_VIRTUAL_MEMORY_CAGE enabled, the behavior of the BoundedPageAllocator changes from simply making freed pages inaccessible to decommitting them, which guarantees that they will be zero-initialized after the next allocation. As this seems to cause some performance regressions on Mac, this CL introduces a new enum that specifies how the allocator should behave: kAllocatedPagesMustBeZeroInitialized causes the pages to be decommitted during FreePages() and ReleasePages() and thus guarantees zero-initialization during AllocPages(). kAllocatedPagesCanBeUninitialized only causes the pages to be made inaccessible, and so does not generally guarantee zero-initialization for AllocPages(). Finally, this CL also removes some dead code in allocation.cc. Bug: chromium:1257089 Change-Id: I53fa52c8913df869bee2b536efe252780d1ad893 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3208812 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77285}
-
- 06 Oct, 2021 2 commits
-
-
Frank Tang authored
This reverts commit a1e6efd8. Reason for revert: Break Arm64 Original change's description: > [intl] Fix consistency in Intl API > > Fix several edge cases consistency issues with ICU discovered by test262 test by > using Intl Enumeration API > 1. Work around ICU short coming of always fallback in currency display > name so when the fallback is "none" in DisplayNames, the force fallback > code will produce the correct undefined from the of(currency_code) method. > 2. Always check numbering system is not algorithm based numbering system > to fix DateTimeFormat/RelativeTimeFormat/NumberFormat > resolvedOptions().numberingSystem when the reqested numberingSystem is one > of the numbering systems that we filter out the resources and not supported. > 3. Generalize the iso8601 bit solution in DateTimeFormat and rename it to > alt_calendar bit to also fix DateTimeFormat resolvedOptions report > calendar as "islamic" while requesting "islamic-rgsa". > 4. Work around reporting inconsistency of currency code and display name > in ICU. > > Bug: v8:12209 > Change-Id: Ibd349ee55426fad7d6f20a5e93fb35ff7438e111 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3153576 > Commit-Queue: Frank Tang <ftang@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#77242} Bug: v8:12209 Change-Id: I6b8ac7dc89eda158e29c9d653825cb20a89341aa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3207379Reviewed-by:
Frank Tang <ftang@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#77246}
-
Frank Tang authored
Fix several edge cases consistency issues with ICU discovered by test262 test by using Intl Enumeration API 1. Work around ICU short coming of always fallback in currency display name so when the fallback is "none" in DisplayNames, the force fallback code will produce the correct undefined from the of(currency_code) method. 2. Always check numbering system is not algorithm based numbering system to fix DateTimeFormat/RelativeTimeFormat/NumberFormat resolvedOptions().numberingSystem when the reqested numberingSystem is one of the numbering systems that we filter out the resources and not supported. 3. Generalize the iso8601 bit solution in DateTimeFormat and rename it to alt_calendar bit to also fix DateTimeFormat resolvedOptions report calendar as "islamic" while requesting "islamic-rgsa". 4. Work around reporting inconsistency of currency code and display name in ICU. Bug: v8:12209 Change-Id: Ibd349ee55426fad7d6f20a5e93fb35ff7438e111 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3153576 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77242}
-
- 05 Oct, 2021 1 commit
-
-
Samuel Groß authored
These are used by unittests which can be compiled as a separate binary that links againt libv8. Bug: chromium:1218005 Change-Id: Ibb29c4fa104be61fc26cbd6c1b349d74d74c50a6 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3202002 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#77228}
-
- 01 Oct, 2021 1 commit
-
-
Camillo Bruni authored
It's not always easy to spot what exact configuration of V8 is run within embedders. With --print-flag-values we can easily compare different configurations. Drive-by-fix: - Use new FlagValue and FlagName helpers for printing - Remove unused FlagList::argv helper Change-Id: Ic8a25479d7b1e72f714b22ae7d2e56e06e810556 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3197713Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77189}
-
- 28 Sep, 2021 1 commit
-
-
Ng Zhi An authored
Bug: v8:12244 Change-Id: I7ea68dd74a376221631d7f56b4a012207f68a1ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3182899Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77129}
-
- 23 Sep, 2021 1 commit
-
-
Jakob Gruber authored
The proposal has changed and we'll start on the new implementation from scratch. Bug: v8:11935, v8:7467 Change-Id: I29e39a414027d80fd91764ce02a05d7c032a41f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3178964 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#77016}
-
- 20 Sep, 2021 2 commits
-
-
Samuel Groß authored
At least for the initial rollout, we will gracefully handle cage reservation failures by shrinking the size of the cage until the reservation succeeds or the size drops below the mimimum cage size. This will allow collecting statistics on how often cage reservation failures occur in practice for different cage sizes, which will in turn influence the decision on how to handle them in the future. Bug: chromium:1218005 Change-Id: Ica58951ba51ac01bc2c387b34dfc8d9051ed4d75 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3168347Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#76948}
-
Toon Verwaest authored
This means we don't need to copy over properties, and accessors stay in place similar to when we deserialize a custom snapshot. This slightly changes the semantics of Context::New, so let's see whether someone depends on this behaviour. We may need to revert if so (hopefully until we can update the embedder). Bug: v8:12113 Change-Id: I8325480a00bab5b2bb6ea42274e295b0d4dfc85c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162143 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76928}
-
- 17 Sep, 2021 1 commit
-
-
Samuel Groß authored
Instead of explicitely splitting the cage into two separate regions, we now just create a single BoundedPageAllocator to manage the entire address range of the cage, then allocate the first 4GB for the pointer compression cage. Bug: chromium:1218005 Change-Id: I02c53ca8b6dda9074ae6caccc74c32bd6271d4d2 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162044Reviewed-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@{#76900}
-
- 16 Sep, 2021 2 commits
-
-
Georg Neis authored
... as it has nothing to do with bootstrapping. Change-Id: I364469b023b3f0811a674ea39aefd46313dd10fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3164536Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76877}
-
Georg Neis authored
... by adding atomic (relaxed) accessor's for a map's constructor_or_backpointer field, and using them in the two functions. Bug: chromium:1250216, v8:7790 Change-Id: I3416799cca73792ff5f8963685274ad9afdc6229 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3162129Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76876}
-
- 14 Sep, 2021 1 commit
-
-
Deepti Gandluri authored
This reverts commit 0adc1410. Reason for revert: Reverting due to fail on V8 Linux - noi18n - debug https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket/8836095186331011153/+/u/Check_-_default/function-exist Original change's description: > [Temporal] Part 1 - Skeleton > > 1. Expose all the functions to empty buildins. > 2. Wire up basic structure of classes and internal slots. > > Design Doc: https://docs.google.com/document/d/1Huu2OUlmveBh4wjgx0D7ouC9O9vSdiZWaRK3OwkQZU0/ > > This is just a CL to establish a skeleton for Temporal. > The Temporal is very big. The prototype CL is in > https://chromium-review.googlesource.com/c/v8/v8/+/2967755 > but too big to be reviewed so I break up the basic structure here first. > > Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel > Bug: v8:11544 > Change-Id: I10d09e3c2530e5b1a6ba60014a2294e138879ff3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3092561 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76819} Bug: v8:11544 Change-Id: I358f671452a986c8e87d1f831ab5eb1550a38441 Cq-Include-Trybots: luci.v8.try:v8_linux64_bazel No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160467 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Auto-Submit: Deepti Gandluri <gdeepti@chromium.org> Owners-Override: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/main@{#76821}
-