- 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 2 commits
-
-
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}
-
Frank Tang authored
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/+/3092561Reviewed-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}
-
- 07 Sep, 2021 1 commit
-
-
Patrick Thier authored
The receiver is now always included in the actual argument count and the formal parameter count. kDontAdaptArgumentsSentinel is changed from UINT16_MAX to 0 to preserve the maximum allowed declared parameters. The build flag activating the changes is not set for any architecture yet. Bug: v8:11112 Change-Id: I48a4969137949a1b4d1f47545209bb22b64e7e05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3140608 Commit-Queue: Patrick Thier <pthier@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#76699}
-
- 26 Aug, 2021 1 commit
-
-
Toon Verwaest authored
Change-Id: I251497b12a897fcc15a3a56c3f487d7097fa163a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3122146 Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#76507}
-
- 25 Aug, 2021 1 commit
-
-
Samuel Groß authored
In a follow-up CL, the backing stores will, when the sandbox is enabled, be referenced from V8 objects through offsets rather than raw pointers. For that to work, all backing stores must be located inside the virtual memory cage. This CL prepares for that. Bug: chromium:1218005 Change-Id: Ibb989626ed7094bd4f02ca15464539f4e2bda90f Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3114136 Commit-Queue: Samuel Groß <saelo@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#76486}
-
- 24 Aug, 2021 3 commits
-
-
Shu-yu Guo authored
This reverts commit 5e041b82. Reason for revert: Mysterious breakage of SIMD tests: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Mac64/41767/overview 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: If7f32c650dc88bf6280573db9d6e42f89277778e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3116806 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/main@{#76470}
-
Frank Tang authored
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/+/3099087Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#76468}
-
Dan Elphick authored
This is a reland of d1b27019 Fixes include: Adding missing file to bazel build Forward-declaring classing before friend-classing them to fix win/gcc Add missing v8-isolate.h include for vtune builds Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Cq-Include-Trybots: luci.v8.try:v8_linux_vtunejit Bug: v8:11965 Change-Id: I99f5d3a73bf8fe25b650adfaf9567dc4e44a09e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113629Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76460}
-
- 23 Aug, 2021 2 commits
-
-
Dan Elphick authored
This reverts commit d1b27019. Reason for revert: Broke vtune build, tsan build and possibly others Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Bug: v8:11965 Change-Id: Id57313ae992e720c8b19abc975cd69729e1344aa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113627 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/main@{#76428}
-
Dan Elphick authored
This moves every single class/function out of include/v8.h into a separate header in include/, which v8.h then includes so that externally nothing appears to have changed. Every include of v8.h from inside v8 has been changed to a more fine-grained include. Previously inline functions defined at the bottom of v8.h would call private non-inline functions in the V8 class. Since that class is now in v8-initialization.h and is rarely included (as that would create dependency cycles), this is not possible and so those methods have been moved out of the V8 class into the namespace v8::api_internal. None of the previous files in include/ now #include v8.h, which means if embedders were relying on this transitive dependency then it will give compile failures. v8-inspector.h does depend on v8-scripts.h for the time being to ensure that Chrome continue to compile but that change will be reverted once those transitive #includes in chrome are changed to include it directly. Full design: https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing Bug: v8:11965 Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76424}
-
- 19 Aug, 2021 1 commit
-
-
Jakob Gruber authored
The JSRegExp heap object should not be the source of truth for regexp flags, which are also relevant in places that don't need or want to care about the heap object layout (e.g.: the regexp parser). Introduce RegExpFlags as a new source of truth, and base everything else on these flags. As a first change, remove the js-regexp.h dependency from the regexp parser. Other files in src/regexp/ should be updated in follow-up work. Change-Id: Id9a6706c7f09e93f743b08b647b211d0cb0b9c76 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3103306Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76379}
-
- 17 Aug, 2021 2 commits
-
-
Leszek Swirski authored
Make off-thread deserialization play well with the Isolate compilation cache, by moving the Finish call into GetSharedFunctionInfoForScript. This means that a) The isolate cache is checked before the Finish, allowing it to be hit, and b) Results of off-thread deserializations are written into the Isolate cache. Bug: chromium:1075999 Change-Id: I535935180bbe77f3e718253830e649bd62857634 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094006 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#76341}
-
Camillo Bruni authored
- Use early return - Add exception_string read-only root Change-Id: Iba935a4a0308d21ced2693047fdf217b7f9e62f4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097884Reviewed-by:
Patrick Thier <pthier@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#76335}
-
- 12 Aug, 2021 2 commits
-
-
Frank Tang authored
flag --harmony_intl_enumeration I2P: https://groups.google.com/a/chromium.org/g/blink-dev/c/Txtf_rSqGH8/m/e27FY33JAQAJ Design Doc: https://docs.google.com/document/d/1lbj_YVW-xhzYNMQeHB-qDjVkf4SA-eTHYpYXx3Oaud8 https://chromestatus.com/guide/edit/5649454590853120 Bug: v8:10743 Change-Id: I3bfe0c25b50eb55025498534eba975a20723bd2f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953519 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#76265}
-
Ross McIlroy authored
These are no longer enabled, so remove the code mitigation logic from the codebase. BUG=chromium:1003890 Change-Id: I536bb1732e8463281c21da446bbba8f47ede8ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3045704 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76256}
-