- 01 Feb, 2021 1 commit
-
-
Ulan Degenbaev authored
The flags are enabled by default and have stable coverage. This also removes the corresponding bots. Bug: v8:10315 Change-Id: Icce01383050dff758b6554db8e0c3589d6e5459c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2658324 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#72457}
-
- 19 Nov, 2020 1 commit
-
-
Dominik Inführ authored
This is a reland of e95e1b62 After landing https://crrev.com/c/2546682, this CL can be relanded without changes. Original change's description: > [heap] Introduce LocalIsolate for main thread > > Add a LocalIsolate for the main thread to Isolate. This LocalIsolate is > kept alive during the whole lifetime of the Isolate. The main thread > LocalIsolate starts in the Running state in contrast to the background > thread LocalIsolates (those start in Parked). > > Code paths in Turbofan that used to create a LocalIsolate on the main > thread can now simply use the main thread LocalIsolate. > > LocalIsolate for the main thread will help in reducing differences > between the main and background threads. The goal is that the main > thread behaves more like a background thread. > > The main thread LocalIsolate should also make it simpler to share code > between main thread and background threads by using LocalIsolate for > both. > > Bug: v8:10315 > Change-Id: I7fd61d305a6fd7079e2319d75c291c1021e70018 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509593 > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71226} Bug: v8:10315 Change-Id: I418b1217aeac4f3c44a0aa514dea9864f8a58656 TBR: szuend@chromium.org, yangguo@chromium.org, ulan@chromium.org, leszeks@chromium.org, neis@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2543399Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#71274}
-
- 17 Nov, 2020 2 commits
-
-
Michael Achenbach authored
This reverts commit e95e1b62. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/23064 Original change's description: > [heap] Introduce LocalIsolate for main thread > > Add a LocalIsolate for the main thread to Isolate. This LocalIsolate is > kept alive during the whole lifetime of the Isolate. The main thread > LocalIsolate starts in the Running state in contrast to the background > thread LocalIsolates (those start in Parked). > > Code paths in Turbofan that used to create a LocalIsolate on the main > thread can now simply use the main thread LocalIsolate. > > LocalIsolate for the main thread will help in reducing differences > between the main and background threads. The goal is that the main > thread behaves more like a background thread. > > The main thread LocalIsolate should also make it simpler to share code > between main thread and background threads by using LocalIsolate for > both. > > Bug: v8:10315 > Change-Id: I7fd61d305a6fd7079e2319d75c291c1021e70018 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509593 > Reviewed-by: Simon Zünd <szuend@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#71226} TBR=ulan@chromium.org,yangguo@chromium.org,neis@chromium.org,leszeks@chromium.org,szuend@chromium.org,dinfuehr@chromium.org Change-Id: Ia70b4bfe3b8fa26bf8d6a7dc612a310b0ed54073 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2543937Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#71228}
-
Dominik Inführ authored
Add a LocalIsolate for the main thread to Isolate. This LocalIsolate is kept alive during the whole lifetime of the Isolate. The main thread LocalIsolate starts in the Running state in contrast to the background thread LocalIsolates (those start in Parked). Code paths in Turbofan that used to create a LocalIsolate on the main thread can now simply use the main thread LocalIsolate. LocalIsolate for the main thread will help in reducing differences between the main and background threads. The goal is that the main thread behaves more like a background thread. The main thread LocalIsolate should also make it simpler to share code between main thread and background threads by using LocalIsolate for both. Bug: v8:10315 Change-Id: I7fd61d305a6fd7079e2319d75c291c1021e70018 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509593Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#71226}
-
- 11 Nov, 2020 1 commit
-
-
Jakob Gruber authored
* Replace deprecated Factory::NewFunction* calls with JSFunctionBuilder. * Drive-by: rename Factory::NewFunctionForTest to ..ForTesting (this is the correct suffix recognized by our tooling to ensure it's only called from tests). Tbr: clemensb@chromium.org Bug: v8:8888 Change-Id: I110063803e5b467bd91b75fe8fea2ca4174f2bcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2529129Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#71101}
-
- 17 Oct, 2020 1 commit
-
-
Dominik Inführ authored
LocalHeap can be used on main thread, however allocation might cause a GC which works differently on the main thread than on a background thread. Support collection on main thread by directly performing the GC instead of requesting the GC as done on background threads. To allow for differentiation between main and background threads, LocalHeap/LocalIsolate now require an additional argument. Change-Id: I08094ea633e303e149913f21dff395da9e046534 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463238Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70590}
-
- 16 Oct, 2020 1 commit
-
-
Dominik Inführ authored
This is a reland of 44708a5b Original change's description: > [compiler, heap] Create LocalHeap outside of ExecuteJob > > Create LocalHeap directly in the Task or in GetOptimizedCodeNow and > pass its reference as argument to ExecuteJob. This allows us to create > LocalHeap differently for the main and background thread, e.g. by > passing an additional argument to the constructor in the future. > It will be required in the future anyways when the main thread will > have its own LocalHeap/LocalIsolate. > > Extending the scope of LocalHeap, also made > HandleBase::IsDereferenceAllowed more precise and uncovered two > potential issues: heap accesses in > OptimizingCompileDispatcher::CompileNext and PipelineImpl::AssembleCode > with --code-comments. > > LocalHeap can now be created in the parked state. Also fixed a data > race with LocalHeap's destructor publishing write barrier entries > without holding the lock. > > Bug: v8:10315 > Change-Id: I9226972601a07b87108cd66efbbb6a0d118af58d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460818 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70521} Bug: v8:10315 Change-Id: I4c459fd6dfb98d47fc9941c0dc6864bf5a1d2d3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2474788Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70560}
-
- 15 Oct, 2020 2 commits
-
-
Georg Neis authored
This reverts commit 44708a5b. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/33692 Original change's description: > [compiler, heap] Create LocalHeap outside of ExecuteJob > > Create LocalHeap directly in the Task or in GetOptimizedCodeNow and > pass its reference as argument to ExecuteJob. This allows us to create > LocalHeap differently for the main and background thread, e.g. by > passing an additional argument to the constructor in the future. > It will be required in the future anyways when the main thread will > have its own LocalHeap/LocalIsolate. > > Extending the scope of LocalHeap, also made > HandleBase::IsDereferenceAllowed more precise and uncovered two > potential issues: heap accesses in > OptimizingCompileDispatcher::CompileNext and PipelineImpl::AssembleCode > with --code-comments. > > LocalHeap can now be created in the parked state. Also fixed a data > race with LocalHeap's destructor publishing write barrier entries > without holding the lock. > > Bug: v8:10315 > Change-Id: I9226972601a07b87108cd66efbbb6a0d118af58d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460818 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70521} TBR=ulan@chromium.org,neis@chromium.org,leszeks@chromium.org,solanes@chromium.org,dinfuehr@chromium.org Change-Id: I9dd1f8ca6237d5716b6d8938cef0ee3f642f3166 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10315 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2474118Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#70522}
-
Dominik Inführ authored
Create LocalHeap directly in the Task or in GetOptimizedCodeNow and pass its reference as argument to ExecuteJob. This allows us to create LocalHeap differently for the main and background thread, e.g. by passing an additional argument to the constructor in the future. It will be required in the future anyways when the main thread will have its own LocalHeap/LocalIsolate. Extending the scope of LocalHeap, also made HandleBase::IsDereferenceAllowed more precise and uncovered two potential issues: heap accesses in OptimizingCompileDispatcher::CompileNext and PipelineImpl::AssembleCode with --code-comments. LocalHeap can now be created in the parked state. Also fixed a data race with LocalHeap's destructor publishing write barrier entries without holding the lock. Bug: v8:10315 Change-Id: I9226972601a07b87108cd66efbbb6a0d118af58d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460818 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70521}
-
- 12 Oct, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Clean-ups: * Remove the detaching of persistent handles from the LocalHeap if the main thread will not get the handles from the background thread. * Remove unused isolate member. * Make members private/protected as needed. Bug: v8:7790 Change-Id: I23bf4a41124bd04d4a848edfa1ef8f9e8e77182c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2463234Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70442}
-
- 24 Sep, 2020 1 commit
-
-
Dominik Inführ authored
Avoid data race by only setting FLAG_local_heaps to true if not already enabled. Bug: v8:10315 Change-Id: Ib562b6d525448f5c088da39bf60928debd97db43 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2426610Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70115}
-
- 14 Jul, 2020 1 commit
-
-
Santiago Aboy Solanes authored
This CL adds functionality to read the source positions directly from the JS heap rather than from serialized data. In order to do this, we create a PersistentHandles container in the OptimizedCompilationInfo which gets passed onto the JSHeapBroker. This allows us to create the handles in the main thread and pass them safely to the background thread. In order to read safely from the background thread, we need a LocalHeap which blocks the GC from running and potentially moving the handles. This LocalHeap is created only when the JSHeapBroker has finalized serializing and destroyed when retiring it. Bug: v8:7790 Change-Id: I19f8b08d12e5be0a3df34d6af2043310c0c7b6fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277802Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68836}
-
- 10 Jul, 2020 1 commit
-
-
Ulan Degenbaev authored
PersistentHandles::NewHandle/LocalHeap::NewPersistentHandle currently erase the type of the object. This patch templatizes them to preserve the type and introduces versions that take Handle<T> Bug: v8:10315 Change-Id: I899179a5b842b7b16144b340f6cd2b91e1db228f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287501 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#68779}
-
- 02 Jul, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I1b9116529575f56c890f93488a0ffdebfdfe5763 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2260873 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68649}
-
- 12 Jun, 2020 1 commit
-
-
Santiago Aboy Solanes authored
For DescriptorArrays with more than 8 elements, we do a BinarySearch on the main thread. For background thread, BinarySearch is unsafe and we have to fall back to LinearSearch. Bug: v8:7790 Change-Id: I7136b616ae31f509e56cf5ceb5afd659d13e0d81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2237142 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68318}
-
- 10 Jun, 2020 1 commit
-
-
Santiago Aboy Solanes authored
This CL adds a linear search test in a DescriptorArray in a known flat object in the background thread, while the main thread exercises the same DescriptorArray. Also sets the foundation for the follow-ups tests in background threads. Bug: v8:7790 Change-Id: I0e99508204808baaf605161d2eeb717eabe712fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207147 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#68299}
-