- 15 May, 2019 3 commits
-
-
Ulan Degenbaev authored
Currently the initial old generation size is set to the half of the maximum old generation size. This is problematic for huge heaps. This patch introduces an upper bound of 512MB (256MB) for x64 (x32). Bug: chromium:961272 Change-Id: If4a6b839ebe688e5b0bc41749ac34f7a31849e21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605731 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61515}
-
Mythri A authored
We used to set disable optimization bits in SFI to NeverOptimize in lite mode to avoid optimizing in tests. Now, tests that need optimization use intrinsics to force feedback vector allocation. Hence this is no longer necessary. Bug: v8:8394 Change-Id: I0aeaeacc34d838cf15698a9227b6964292b97240 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611545Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61513}
-
Igor Sheludko authored
Also remove unused Factory::CopyFeedbackVector(). Bug: v8:7703 Change-Id: I75e16a55967e5970e4cbe3babae3a09d2a647313 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611542Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61512}
-
- 14 May, 2019 5 commits
-
-
Maciej Goszczycki authored
This is a reland of 2b24cd03 Original change's description: > [heap] Skip read-only space in Heap::Contains > > Bug: v8:7464 > Change-Id: I27e82cdf0f8cc56ff68dcfaecab9644fe74916c7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559861 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61350} Bug: v8:7464 Change-Id: Ic5a9221f62537c1711c70b48fc0069288bfda80f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601509Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61489}
-
Benedikt Meurer authored
Previously we had a special, unshared map on the native context that was used for results of builtin iterators, which was different from the map that is created from an object literal like `{value, done}`. This not only leads to unnecessary polymorphism, but also makes it impossible for user defined iterators to take the fast-paths that we have in various places (i.e. in collections or promises). With this change we now properly share the map for `{value, done}` and use that for the builtin iterator result objects, as well as the fast-paths. Drive-by-fix: Remove the restrictions on map caching and transition caching during bootstrapping. This no longer makes sense. Bug: v8:9114, v8:9243 Change-Id: I19eb9071f7ec0ed58f8a6f87eed781bc790174b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609794 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61488}
-
Igor Sheludko authored
... by combining generational and marking write barriers in one loop. Bug: v8:7703 Change-Id: I825d530040d3f39143dd2d051dc5a9916e2f2997 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611541Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61487}
-
Igor Sheludko authored
... in order to make it optimizable for enabled pointer compression. Bug: v8:9183 Change-Id: I8b92e48cc43dcc823eefb5a8a4a29de7a8ba0e78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609545 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61476}
-
Benedikt Meurer authored
This is a preparation for doing a similar change to JSTypedArrays to be able to finally access huge ArrayBuffers with TypedArrays. This CL itself improves the performance of DataViews, sometimes to be even faster than TypedArrays now. On the test case[1] we go from testDataViewGetUint8: 711 ms. testUint8Array: 654 ms. testDataViewGetUint16: 801 ms. testUint16Array: 649 ms. testDataViewGetInt32: 699 ms. testInt32Array: 648 ms. testDataViewGetFloat64: 701 ms. testFloat64Array: 650 ms. to testDataViewGetUint8: 622 ms. testUint8Array: 656 ms. testDataViewGetUint16: 634 ms. testUint16Array: 656 ms. testDataViewGetInt32: 629 ms. testInt32Array: 655 ms. testDataViewGetFloat64: 631 ms. testFloat64Array: 661 ms. so the performance improves by up to **20%**. [1] https://github.com/bmeurer/js-micro-benchmarks/blob/master/bench-dataview.js Tbr: ulan@chromium.org Bug: chromium:225811, v8:4153, v8:8383 Change-Id: Ie4409e2fe96e5085ddcf5eb3f24f3cacfb3afe02 Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601144 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61464}
-
- 13 May, 2019 2 commits
-
-
Hannes Payer authored
Bug: v8:9093, chromium:959824 Change-Id: I4c22149044d82d909454ec563203a0a2690e2251 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609797 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61457}
-
Maciej Goszczycki authored
Fixed by 6644f2b8 (https://chromium-review.googlesource.com/c/v8/v8/+/1605728) This is a reland of 652e32f9 Original change's description: > [heap] Make trampoline CodeDataContainers immutable and deduplicate them > > Moves all trampoline CodeDataContainers to read-only space, making them > immutable. Containers with no 'kind specific flags' set or 'promise > rejection' flag are deduplicated by replacing them with the new canonical > CodeDataContainers roots. > > This saves around 36KB from the snapshot. > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > old 32048 0 225944 149280 20240 0 > new 32120 0 189344 149280 20240 0 > > Bug: v8:7464 > Change-Id: Iedd538a86311ef501cd88c90ec75e1308195762f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601257 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61378} Bug: v8:7464 Change-Id: Ib98577d7d6c8c1205c94bf8c57d9cb38f51fdad3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609539 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61451}
-
- 10 May, 2019 3 commits
-
-
Dan Elphick authored
This is a reland of f2e65226 Nothing has changed but https://chromium-review.googlesource.com/c/v8/v8/+/1585269 has been rolled back due to v8:9234. Original change's description: > Reland "[compiler] Don't collect source positions for the top frame" > > Fixed crashes by adding missing call to EnsureSourcePositionsAvailable, > which requires clearing and restoring the pending exception. > > > While most source positions were not collected even throwing exceptions, > > the top frame still was always collected as it was used to initialize > > the JSMessageObject. This skips even that frame, by storing the > > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > > it to lazily evaluate the actual source position. > > > > Also adds tests to test-api.cc that test each of the source position > > functions in isolation to ensure that they don't rely on previous > > invocations to call the source collection function. > > > > Since no source positions are now collected at the point when an > > exception is thrown, the mjsunit/stack-traces-overflow now passes again > > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > > only failure). > > Bug: v8:8510 > Change-Id: Ifa5fe31d3db34a6c6d6a9cef3d646ad620dabd81 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601270 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61372} TBR=ulan@chromium.org Bug: v8:8510 Change-Id: Iaa9e376f90d10c0f25d1bcc352808363e4ea8b4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605946Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61418}
-
Santiago Aboy Solanes authored
Everything after UNREACHABLE is dead code, so it makes sense to remove them. Bug: v8:9183 Change-Id: If76468a73b926d74717cc2348fd5b36d30f680c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605727Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61411}
-
Ulan Degenbaev authored
This is a more general fix than 84435faf because tests that rely on the sweeping order mark all unwanted pages as never-allocate using SealCurrentObjects. Bug: v8:9205 Change-Id: I261de3183ee38189ed72de28883a4fdf7b6f253d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605728Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61407}
-
- 09 May, 2019 6 commits
-
-
Adam Klein authored
This reverts commit 652e32f9. Reason for revert: speculative revert due to flaky test failures: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20nosnap%20-%20debug/23920 Original change's description: > [heap] Make trampoline CodeDataContainers immutable and deduplicate them > > Moves all trampoline CodeDataContainers to read-only space, making them > immutable. Containers with no 'kind specific flags' set or 'promise > rejection' flag are deduplicated by replacing them with the new canonical > CodeDataContainers roots. > > This saves around 36KB from the snapshot. > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > old 32048 0 225944 149280 20240 0 > new 32120 0 189344 149280 20240 0 > > > Bug: v8:7464 > Change-Id: Iedd538a86311ef501cd88c90ec75e1308195762f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601257 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61378} TBR=ulan@chromium.org,delphick@chromium.org,goszczycki@google.com Change-Id: Ifaf9987bc3770f9e80701e8d011ab19da5c747ca No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1602877Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#61388}
-
Igor Sheludko authored
This is a first step towards unification of Object and MaybeObject definitions. Having an TaggedImpl template will simplify adding compressed variants of Object and MaybeObject which is required for avoiding unnecessary value decompression in tight value copying loops and write barrier implementations. Bug: v8:7703, v8:9183 Change-Id: I4c1931c22359533d50cf4a2c7f1339dd55c0c707 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588460Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61385}
-
Maya Lekova authored
This reverts commit f2e65226. Reason for revert: Speculative revert, seems to break GC stress bot and block LKGR - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/25701 Original change's description: > Reland "[compiler] Don't collect source positions for the top frame" > > Fixed crashes by adding missing call to EnsureSourcePositionsAvailable, > which requires clearing and restoring the pending exception. > > > While most source positions were not collected even throwing exceptions, > > the top frame still was always collected as it was used to initialize > > the JSMessageObject. This skips even that frame, by storing the > > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > > it to lazily evaluate the actual source position. > > > > Also adds tests to test-api.cc that test each of the source position > > functions in isolation to ensure that they don't rely on previous > > invocations to call the source collection function. > > > > Since no source positions are now collected at the point when an > > exception is thrown, the mjsunit/stack-traces-overflow now passes again > > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > > only failure). > > Bug: v8:8510 > Change-Id: Ifa5fe31d3db34a6c6d6a9cef3d646ad620dabd81 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601270 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61372} TBR=ulan@chromium.org,rmcilroy@chromium.org,delphick@chromium.org Change-Id: Ie590df6c308b38836afc5d417d03d2a63260bcb2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8510 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1602692Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61381}
-
Maciej Goszczycki authored
Moves all trampoline CodeDataContainers to read-only space, making them immutable. Containers with no 'kind specific flags' set or 'promise rejection' flag are deduplicated by replacing them with the new canonical CodeDataContainers roots. This saves around 36KB from the snapshot. RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE old 32048 0 225944 149280 20240 0 new 32120 0 189344 149280 20240 0 Bug: v8:7464 Change-Id: Iedd538a86311ef501cd88c90ec75e1308195762f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601257 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61378}
-
Dan Elphick authored
Fixed crashes by adding missing call to EnsureSourcePositionsAvailable, which requires clearing and restoring the pending exception. > While most source positions were not collected even throwing exceptions, > the top frame still was always collected as it was used to initialize > the JSMessageObject. This skips even that frame, by storing the > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > it to lazily evaluate the actual source position. > > Also adds tests to test-api.cc that test each of the source position > functions in isolation to ensure that they don't rely on previous > invocations to call the source collection function. > > Since no source positions are now collected at the point when an > exception is thrown, the mjsunit/stack-traces-overflow now passes again > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > only failure). Bug: v8:8510 Change-Id: Ifa5fe31d3db34a6c6d6a9cef3d646ad620dabd81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601270 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61372}
-
Maya Lekova authored
This reverts commit 2b24cd03. Reason for revert: Causes layout test failures https://ci.chromium.org/p/chromium/builders/try/linux-chromeos-rel/275121 and https://ci.chromium.org/p/chromium/builders/try/win7-rel/86354 Original change's description: > [heap] Skip read-only space in Heap::Contains > > Bug: v8:7464 > Change-Id: I27e82cdf0f8cc56ff68dcfaecab9644fe74916c7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559861 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61350} TBR=ulan@chromium.org,delphick@chromium.org,goszczycki@google.com Change-Id: I13cc09dd44a10bad854fa861b6e43149babb1b5e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601498Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61363}
-
- 08 May, 2019 7 commits
-
-
Hannes Payer authored
Bug: v8:9093 Change-Id: If899e36d4fbef711118ff8d7730ff9acd118d8b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1599600Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61354}
-
Maciej Goszczycki authored
Bug: v8:7464 Change-Id: I27e82cdf0f8cc56ff68dcfaecab9644fe74916c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559861 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61350}
-
Seth Brenith authored
This change introduces a new decorator syntax @ifdef which can be used on any class fields in .tq files, and updates SharedFunctionInfo to use it as an example. Bug: v8:7793 Change-Id: I690ae2a10d6cab044eedf5b931e4f95e757ed469 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1536985 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61349}
-
Ulan Degenbaev authored
If concurrent sweeping is not making progress, then the slow path of allocation tries to sweep one page before allocating a new page. If that one page happens to be a never-evacuate page, then sweeping it will not produce any free space. This is problematic for tests that disable page allocation by setting the force_oom flag. Such tests become sensitive to the number of pages marked as never-evacuate (i.e. pages that were deserialized from the snapshot). Bug: v8:9205 Change-Id: If19a036b67319a5a2170f378f2c07ffa01bb7b27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601259Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61344}
-
Jakob Kummerow authored
For faster calls from Wasm to C-API functions, passing parameter values directly instead of through JavaScript wrapper objects. Change-Id: I31e7d1622dedaf3154483306ab159427ac167663 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591601Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#61338}
-
Benedikt Meurer authored
Pass the FunctionLiteral to `SharedFunctionInfo::ToTracedValue()` and take the source position from that for logging, as the SFI itself might not have a way to get to the source position in the beginning (currently that's the case for functions that are marked for eager compilation). Tbr: ulan@chromium.org Bug: chromium:956848, v8:8598, v8:9039 Change-Id: I05c31c7d48734f1f301930ba455d3d5a77b9df13 Doc: bit.ly/v8-tracing-signals Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601146 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#61329}
-
Maciej Goszczycki authored
Seems like the CodeBuilder CL actually caused this. This is a reland of 964edc25 Original change's description: > [heap] Set read-only space's and its pages' heap_ to null. > > Various small changes are required to enable this. > > HeapObject::GetReadOnlyRoots no longer uses the Space's heap when > possible (see comment in ReadOnlyHeap::GetReadOnlyRoots definition). > This requires that ReadOnlyRoots be construct-able using a raw pointer > to the read-only space's roots array. > > Global read-only heap state is now cleared by tests where appropriate > and extra DCHECKs in ReadOnlyHeap::SetUp should make catching future > issues easier. > > String padding is now always cleared just before read-only space is > sealed when not deserializing. > > Change-Id: I7d1db1c11567be5df06ff7066f3a699125f8b372 > Bug: v8:7464 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535830 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61188} Bug: v8:7464 Change-Id: If75bbd16c2e2af5b80cd60811dfd7866f8be8309 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1599186 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61323}
-
- 07 May, 2019 5 commits
-
-
Maggie Chen authored
This is for the finch experiment CL 1592792 V8HugeMaxOldGenerationSize (--js-flags="huge_max_old_generation_size"). The purpose of this finch is to support web apps that require more heap space for their data sets. The current max_old_space_size is 2 GB. This CL increases the size to 4 GB for 64-bit systems with a physical memory size bigger than 16 GB. This CL does not change MaxGrowingFactor. HeapController::kMaxSize is still set to 2GB so the GC schedule remains the same. All tests from "tools\dev\gm.py x64.release.check" passes in my local machine with FLAG_increase_max_old_space_size forced to true. Bug:958974 Change-Id: I9d916d75c0b16342040dd1336e28e423e5bcc474 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1592129 Commit-Queue: Maggie Chen <magchen@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61297}
-
Toon Verwaest authored
- Performs hash / length check before calling IsMatch - Casts to string before calling IsMatch - Removes special two-char internalization key (will look into removing StringTableNoAllocateKey next, and possible fold StringTableInsertionKey into InternalizedStringKey). Change-Id: Ida76761eb2c3dc350c829ac2bfe12d52aef5f96d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598753Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61280}
-
Peter Marshall authored
This is a reland of ad44c258 Patchset 2 is the original CL Patchset 3 fixes some misuses of FixedArrayBase::length() and adds some DCHECKS to flush out any more misuses. Patchset 4 adds the PPC/S390 port by miladfar@ca.ibm.com. Original change's description: > [typedarray] Make JSTypedArray::length authoritative. > > This is the first step towards full huge typed array support in V8. > Before this change, the JSTypedArray::length and the elements backing > store length (FixedTypedArrayBase::length) were used more or less > interchangeably to determine the number of elements in a JSTypedArray. > > With this change we disentangle these two lengths, and instead make > JSTypedArray::length authoritative. For on-heap typed arrays, the > FixedTypedArrayBase::length will remain the number of elements in the > backing store, but for the off-heap typed arrays, this length will be > set to 0 (matching the fact that the FixedTypedArrayBase instance does > not contain any elements itself). > > This also unifies the JSTypedArray::set_/length() and length_value() > methods to only have JSTypedArray::set_/length() which returns/takes > size_t values. Currently this still requires the values to be in Smi > range, but later we will extend this to allow arbitrary size_t values > (in the safe integer range). > > Bug: v8:4153, v8:7881 > Change-Id: Iff9089130bb31fa9e08e0cf913e7ab52c3dbf107 > Cq-Include-Trybots: luci.chromium.try:linux-blink-rel > Doc: http://doc/1Z-wM2qwvAuxH46e9ivtkYvKzzwYZg8ymm0x0wJaomow > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1543729 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60648} Bug: v8:4153, v8:7881, v8:9105 Change-Id: Ic38f833071a723642ebc6f82a4012dbc0878ef98 Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594435Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#61275}
-
Dan Elphick authored
This reverts commit 758700a7. Reason for revert: Broken Original change's description: > [compiler] Don't collect source positions for the top frame > > While most source positions were not collected even throwing exceptions, > the top frame still was always collected as it was used to initialize > the JSMessageObject. This skips even that frame, by storing the > SharedFunctionInfo and bytecode offset in the JSMessageObject allowing > it to lazily evaluate the actual source position. > > Also adds tests to test-api.cc that test each of the source position > functions in isolation to ensure that they don't rely on previous > invocations to call the source collection function. > > Since no source positions are now collected at the point when an > exception is thrown, the mjsunit/stack-traces-overflow now passes again > with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the > only failure). > > Bug: v8:8510 > Change-Id: Ic5382bdbab65cd8838f0c84b544fabb1a9109d13 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587385 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61271} TBR=ulan@chromium.org,rmcilroy@chromium.org,delphick@chromium.org Change-Id: I3ee0b5db5f8a1b3255f68070dc10d27d0e013048 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8510 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1598758Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61273}
-
Dan Elphick authored
While most source positions were not collected even throwing exceptions, the top frame still was always collected as it was used to initialize the JSMessageObject. This skips even that frame, by storing the SharedFunctionInfo and bytecode offset in the JSMessageObject allowing it to lazily evaluate the actual source position. Also adds tests to test-api.cc that test each of the source position functions in isolation to ensure that they don't rely on previous invocations to call the source collection function. Since no source positions are now collected at the point when an exception is thrown, the mjsunit/stack-traces-overflow now passes again with the flag enabled. (cctest/test-cpu-profiler/Inlining2 is now the only failure). Bug: v8:8510 Change-Id: Ic5382bdbab65cd8838f0c84b544fabb1a9109d13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587385 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61271}
-
- 06 May, 2019 4 commits
-
-
Michael Achenbach authored
Error messages are unspecified in JavaScript and occasional small differences in the compared configurations lead to an unjustified maintenance burden of correctness-fuzzing issues. This CL replaces most error messages with a fixed suppression message during correctness fuzzing (behind a flag). The flag covering all extra behavior for correctness fuzzing is now renamed to --correctness-fuzzer-suppressions. Bug: chromium:958668,chromium:946476 Change-Id: Iba1197f765138a962d5bbb176730322e5a411707 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594730 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61249}
-
Toon Verwaest authored
This is a reland of b0c4a876 Original change's description: > [json] Speed up json parsing > > - scan using raw data pointers + GC callback > - scan using scanner tables > - cap internalizing large string values > - inline fast transitioning logic > > Fixes previous CL by moving AllowHeapAllocation to callers of > ReportUnexpectedCharacter where needed to make it clear we need to exit. > > Tbr: ulan@chromium.org > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61159} Change-Id: I0d713e02d243723df2d2a7c252eae44a6648b6b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1596444Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61247}
-
Clemens Hammacher authored
Use the existing move assignment operator instead. R=ulan@chromium.org Bug: v8:9183 Change-Id: Id7a4427da2bbf92d2954faba06e24afe64cb9818 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594729Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61236}
-
Simon Zünd authored
This CL extends the stack frame API to include a flag to distinguish between user and V8 builtin frames. The intention is to extend the API in a later CL, so stack traces include builtin frames. This flag gives embedders more control what to do with builtin frames. R=jgruber@chromium.org, yangguo@chromium.org Bug: v8:8742 Change-Id: Ieda5782dd2073c1e7fd49492bfdfa829a43dc710 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1583723Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61233}
-
- 03 May, 2019 3 commits
-
-
Maciej Goszczycki authored
This reverts commit 964edc25. Reason for revert: chromium:959190 Original change's description: > [heap] Set read-only space's and its pages' heap_ to null. > > Various small changes are required to enable this. > > HeapObject::GetReadOnlyRoots no longer uses the Space's heap when > possible (see comment in ReadOnlyHeap::GetReadOnlyRoots definition). > This requires that ReadOnlyRoots be construct-able using a raw pointer > to the read-only space's roots array. > > Global read-only heap state is now cleared by tests where appropriate > and extra DCHECKs in ReadOnlyHeap::SetUp should make catching future > issues easier. > > String padding is now always cleared just before read-only space is > sealed when not deserializing. > > Change-Id: I7d1db1c11567be5df06ff7066f3a699125f8b372 > Bug: v8:7464 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535830 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61188} TBR=ulan@chromium.org,hpayer@chromium.org,delphick@chromium.org,goszczycki@google.com Change-Id: I53cecf3976dfeabae309040313351385f651f010 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464, chromium:959190 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591608Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#61217}
-
Maciej Goszczycki authored
CodeBuilder was calling AllocateRawWithLightRetry when it should have been calling AllocateRawWithRetryOrFail (and vice versa). Also improved variable naming. Bug: chromium:957934 Change-Id: I03a95165f6d5b44c1f47d08d338d48bcc37c6d04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590075 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61210}
-
Sigurd Schneider authored
This reverts commit bbd740f0. Reason for revert: blocks lkgr due to layout test failure: https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/31607 Original change's description: > Reland "[json] Speed up json parsing" > > This is a reland of b0c4a876 > > Original change's description: > > [json] Speed up json parsing > > > > - scan using raw data pointers + GC callback > > - scan using scanner tables > > - cap internalizing large string values > > - inline fast transitioning logic > > > > Fixes previous CL by moving AllowHeapAllocation to callers of > > ReportUnexpectedCharacter where needed to make it clear we need to exit. > > > > Tbr: ulan@chromium.org > > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778 > > Reviewed-by: Igor Sheludko <ishell@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#61159} > > Tbr: verwaest@chromium.org > Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel > Change-Id: Ic7d0057178c649fc45b8c8f4587ee9128e351515 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593292 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61179} TBR=ulan@chromium.org,ishell@google.com,verwaest@google.com,ishell@chromium.org,verwaest@chromium.org Change-Id: I3ae8f9ce8214bebe7fab9d87c5daf8cdfdb94199 No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594438 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61194}
-
- 02 May, 2019 2 commits
-
-
Maciej Goszczycki authored
Various small changes are required to enable this. HeapObject::GetReadOnlyRoots no longer uses the Space's heap when possible (see comment in ReadOnlyHeap::GetReadOnlyRoots definition). This requires that ReadOnlyRoots be construct-able using a raw pointer to the read-only space's roots array. Global read-only heap state is now cleared by tests where appropriate and extra DCHECKs in ReadOnlyHeap::SetUp should make catching future issues easier. String padding is now always cleared just before read-only space is sealed when not deserializing. Change-Id: I7d1db1c11567be5df06ff7066f3a699125f8b372 Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535830 Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#61188}
-
Maciej Goszczycki authored
Code relocation info is now always allocated in old-space. Before relocation info allocated for placeholders and builtins (which get replaced with trampolines in nosnap builds) would become unreachable. Since read-only space is not GCed and ReadOnlyHeapIterator doesn't check for reachability, ValidateSnapshot would fail finding unreachable objects returned by ReadOnlyHeapIterator. Because trampoline relocation info gets replaced with canonical one, this only affects no-embdded-builtins nosnap builds, which don't get much benefit from read-only relocation info anyway. A new check has been added to the read-only deserializer to verify that every read-only object is reachable at mksnapshot-time. The CombinedHeapIterator iteration order was changed to iterate over read-only space first, because that's how HeapIterator worked. This is a reland of 3d1d8eae Original change's description: > [heap] Skip ro-space from heap iterators, add CombinedHeapIterator. > > Read-only space sharing requires an iterator independent of heap. This > also enables future removal of read-only space from heap. > > Bug: v8:7464 > Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60819} Bug: v8:7464 Change-Id: I49ae070955b77956962334a84f762ab29052d5ff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566513Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61185}
-