- 25 Jun, 2021 1 commit
-
-
Santiago Aboy Solanes authored
We would be allowing or disallowing using the local heap rather than that scope. There's one case that remains in common-operator-reducer.cc. Bug: v8:7790 Change-Id: Ice0b407aa37b3aa349fc68f4a7c2644156097e3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983206Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#75379}
-
- 26 Apr, 2021 1 commit
-
-
Jakob Gruber authored
On a per-job basis, --turbo-direct-heap-access should be equal to whether concurrent inlining is enabled. We simplify involved logic by removing the flag, and replacing all access to - FLAG_turbo_direct_heap_access, and - FLAG_concurrent_inlining inside compiler/ with OptimizedCompilationInfo::is_concurrent_inlining() (or derived values). Bug: v8:7790 Change-Id: I64818e0e1004dded08c784ef1c4bdfd2af990a59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843345 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#74166}
-
- 03 Dec, 2020 1 commit
-
-
Leszek Swirski authored
TurboFan creates DisallowHeapAccess scopes, to prevent heap access in the concurrent parts of the compiler. Then, for parts of the compiler that do want to access the heap, it either creates Allow* scopes (which should be avoided since they "punch a hole" in the Disallow* scopes), or relies on a weakening of Handle::IsDereferenceAllowed which allows handles owned by a LocalHeap to be dereferenced even if there is a DisallowHeapDereference scope. This patch: a) Strengthens the implicit requirements around handle dereferencing to require a running heap on this thread (either main-thread heap or an un-parked, un-safepointed LocalHeap). b) Removes the overly strict Disallow scopes in TurboFan, relying instead on implicit requirements for allocation/handle dereferencing in off-thread code. c) Cleans up the "should_disallow_heap_access" predicate to be more explicit about what should be disallowed (e.g. property accesses can't be computed concurrently) Change-Id: Icb56b7764913ac17e2db197a70bb189af88a6978 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554617 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#71600}
-
- 20 Mar, 2020 1 commit
-
-
Georg Neis authored
Bug: chromium:1062916 Change-Id: Ic29ca849fb17c1409cc11018fdbc9d3363ebd55c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110027 Auto-Submit: Georg Neis <neis@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66801}
-
- 18 Mar, 2020 1 commit
-
-
Georg Neis authored
Bug: chromium:1062532 Change-Id: Iaac3103987a561ce519321276c623b5eb37ec830 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2108022 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66764}
-
- 17 Mar, 2020 2 commits
-
-
Georg Neis authored
To avoid that constant folding makes some type assertions hold vacuously, we don't constant-fold directly but instead introduce a new FoldConstant operator that remembers the original node and gets lowered to an equality assertion by the EffectControlLinearizer. Change-Id: I7aedbe6d4fe47461856723c0c40ba3313a376bd8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2100992 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66746}
-
Georg Neis authored
This is a reland of 2c834c53, in which node replacement was too aggressive. Original change's description: > [turbofan] Clean up ConstantFoldingReducer > > Change-Id: Iaf7f83cc157a6f6680da8933560347f7f3503d56 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2098736 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66706} Change-Id: I5d306092dde4119629af4c5e7e424a0e9a14310d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2106193 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66742}
-
- 16 Mar, 2020 1 commit
-
-
Georg Neis authored
This reverts commit 2c834c53. Reason for revert: several clusterfuzz issues, e.g. 1061805 Original change's description: > [turbofan] Clean up ConstantFoldingReducer > > Change-Id: Iaf7f83cc157a6f6680da8933560347f7f3503d56 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2098736 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66706} TBR=neis@chromium.org,tebbi@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I6e5b655bb465087a50ebaa2088795c6f920c2e51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2104892Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66717}
-
- 13 Mar, 2020 1 commit
-
-
Georg Neis authored
Change-Id: Iaf7f83cc157a6f6680da8933560347f7f3503d56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2098736Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66706}
-
- 23 May, 2019 1 commit
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
- 15 Oct, 2018 1 commit
-
-
Georg Neis authored
There's no ambiguity and the shorter name makes things easier to read. Bug: v8:7790 Change-Id: Ibcf3fd7f38a91e26a83cd335fad0ec80a5fe9be1 Reviewed-on: https://chromium-review.googlesource.com/c/1278392 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#56623}
-
- 17 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I7d885f0e2ba3cdf97de190166dc4cdd24dc0c11e Reviewed-on: https://chromium-review.googlesource.com/1224091 Commit-Queue: Florian Sattler <sattlerf@google.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55956}
-
- 23 Jul, 2018 1 commit
-
-
Georg Neis authored
We'll soon start collecting data from the JS heap prior to the typed lowering pass, and then refrain from reading the heap in that pass. This CL prepares the broker machinery by introducing a hash table that maps an object (handle) to the corresponding cached data. For the time being, that cached data is essentially just the handle itself. Bug: v8:7790 Change-Id: I830e9c72faafb7ae1d10e8a111636b3a3762bbc6 Reviewed-on: https://chromium-review.googlesource.com/1143405 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54618}
-
- 17 Jul, 2018 1 commit
-
-
Georg Neis authored
This makes it more convenient to work with brokerized data. Bug: v8:7790 Change-Id: I7ffb4054b809c10c67787b2fb89a05e8ce8f4575 Reviewed-on: https://chromium-review.googlesource.com/1138248 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54480}
-
- 10 Jul, 2018 1 commit
-
-
Georg Neis authored
R=jarin@chromium.org Bug: v8:7790 Change-Id: I79c6904a9969afc6aac7530c5d876da15018b3bc Reviewed-on: https://chromium-review.googlesource.com/1129142 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54344}
-
- 09 Jul, 2018 1 commit
-
-
Georg Neis authored
R=jarin@chromium.org Bug: v8:7790 Change-Id: I42c1208f3555a7e5a3a241860d0a1609b8530b79 Reviewed-on: https://chromium-review.googlesource.com/1128740Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54314}
-
- 08 May, 2018 1 commit
-
-
Jaroslav Sevcik authored
This CL introduces type narrowing and constant folding reducers to constant fold code that comes out of inlined destructuring of arrays. In particular, array iterator introduces code that contains a phi of a temporary array that blocks escape analysis. The phi comes from conditional that can be evaluated statically (i.e., constant folded), so with better constant folding we allow escape analysis to get rid of the temporary array. On a quick micro-benchmark below, we see more than 6x improvement. This is close to the hand-optimized version - if we replace body of f with 'return b + a', we get 220ms (versus 218ms with destructuring). function f(a, b) { [b, a] = [a, b]; return a + b; } function sum(count) { let s = 0; for (let i = 0; i < count; i++) { s += f(1, 2); } return s; } // Warm up sum(1e5); sum(1e5); console.time("destructure array"); sum(1e8); console.timeEnd("destructure array"); console.timeEnd: destructure array, 213.526000 console.timeEnd: destructure array, 1503.537000 Bug: v8:7728 Change-Id: Ib7aec1d5897989e6adb1af1eddd516d8b3866db5 Reviewed-on: https://chromium-review.googlesource.com/1047672Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53048}
-