- 12 May, 2022 1 commit
-
-
Omer Katz authored
NewSpace is renamed to SemiSpaceNewSpace and NewSpaceBase is renamed to NewSpace (the new PagedSpace new space implementation will be named PagedNewSpace). Most usecases are updated to use the base class rather than the concrete semi space based implementation. To that end, the base class is extended with additional virtual methods (for delegating to the concrete class). This CL follows these guidelines: (*) If at a method callsite we should know the exact new space implementation we use, we cast to the concrete class. This is the case for example for callsites in scavenger.*. (*) If a method is called from outside the heap implementation or should be present regardless of the concrete implementation, that method is made virtual. (*) Other cases are usually methods that are specific to a concrete implementation but the concrete implementation is not known at the callsite and there's no clear way to nicely abstract the method. In such cases we cast to the concrete SemiSpaceNewSpace implementation for now and we will revisit these cases once PagedNewSpace exists. Bug: v8:12612 Change-Id: I7b85626774ce0d785b0257bf8d32b9f50eeaf292 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3625975 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#80482}
-
- 15 Feb, 2022 2 commits
-
-
Dominik Inführ authored
LocalAllocator was already renamed to EvacuationAllocator some time ago. Rename files now as well. Bug: v8:10315 Change-Id: I337f693998aaf5187a5ba05842cdb2474837b68d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463719 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79104}
-
Dominik Inführ authored
We must not use TransferColor on objects promoted into shared objects when performing a scavenger during incremental marking. Bug: v8:12628, v8:11708 Change-Id: I5833c0da8aa3dcd03287d3803a68189e85875bc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463714Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79089}
-
- 11 Feb, 2022 1 commit
-
-
Michael Lippautz authored
The flag has been turned on for a long time and we do not intend to support a mode without young LO objects. A side effect is that it removes a branch in AllocateRaw for the young generation. Drive-by: Reinstantiate the LO space verifier checking that only certain types can appear as large objects. Bug: v8:12615 Change-Id: I8c33019a04670f20459ea2faa9dc2f98b8cda40b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3450420Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79044}
-
- 10 Feb, 2022 1 commit
-
-
Dominik Inführ authored
ExternalStrings in the shared heap currently conflicts with the sandbox project. We would need concurrent concurrent allocation in the external pointer table but also require different accessors for them. Since the shared string table doesn't really need ExternalStrings in the shared heap for now, simply keep ExternalStrings in the client heaps. Bug: v8:11708, v8:12617 Change-Id: I272e40eaec4b7f368ce44f42f7f69bf27d53f9c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3451717Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79039}
-
- 09 Feb, 2022 1 commit
-
-
Dominik Inführ authored
When iterating slots for promoted objects we now also need to visit the map word slot since maps might get compacted. If we do not do this, we risk losing the already recorded slot for the map word in case that object already got marked. Bug: v8:12578, chromium:1295239 Change-Id: I34fbf7ae4b9e36eae8e7e3df354b5fd19adcb08f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3448373Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#79006}
-
- 24 Nov, 2021 1 commit
-
-
Michael Lippautz authored
The CL converts uses of v8::internal::Worklist to heap::base::Worklist which does not require to know the number of tasks working with the work list upfront. heap::base::Worklist is the common implementation for V8's heap and cppgc and should be used/optimized going forward. Bug: v8:12426 Change-Id: I35713938ff80f43a763470f8bdf7e242439080f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3297903 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#78066}
-
- 12 Oct, 2021 1 commit
-
-
Igor Sheludko authored
... as a result of merging RelocInfo::target_object() with RelocInfo::target_object_no_host(PtrComprCageBase), where the cage base is used for accessing compressed embedded pointers. There are two reasons for this change: 1) the parameterless version used to compute the cage base value from the host Code object, however, when external code space is enabled such a base value will not work for non-Code objects, since they require different cage base for decompressing, 2) when external code space is enabled, there must be no need to embed compressed Code objects at all because CodeDataContainers must be used instead. In addition this CL introduces DCHECKs to enforce (2). Bug: v8:11880 Change-Id: I5b504f91dea87c2bcaa1165d2dbfaada70cba7be Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211998Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77361}
-
- 11 Oct, 2021 1 commit
-
-
Shu-yu Guo authored
When --shared-string-table is passed, in-place-internalizable strings are promoted into the shared old space to maintain the invariant that in-place internalization can be done without copying. Also some drive-by comment fixes and removal of unnecessary 'explicit' on multi-parameter constructors. Bug: v8:12007 Change-Id: I467d865e41934b1d5cdf85cbecc85c4befbfeb21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3193591 Auto-Submit: Shu-yu Guo <syg@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77326}
-
- 24 Sep, 2021 1 commit
-
-
Dominik Inführ authored
Bug: v8:12244, v8:12245 Change-Id: I718c7531a7bec24abbc1c5b23246828261d0b94b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3182221Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#77048}
-
- 19 Jul, 2021 1 commit
-
-
Igor Sheludko authored
... for visiting slots containing pointers to Code objects when external code space mode is enabled. These slots will require different handling once the code space is moved out of the V8 heap cage. This CL also introduces IsValidCodeObject() predicate similar to IsValidHeapObject() for checking if given HeapObject is a valid Code object. Tbr: cbruni@chromium.org Bug: v8:11880 Change-Id: I430940f4503cebfd2a6d387e44349810991a93e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3032085Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#75787}
-
- 07 Jun, 2021 1 commit
-
-
Dominik Inführ authored
While no scavenger thread reads the content of an object copied by another thread, we still need memory ordering in order to read the page flags for a forwarded object. Change-Id: I831e9dccb03d32daf3c4847613614d26533ba825 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2944436Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#74979}
-
- 17 May, 2021 1 commit
-
-
Santiago Aboy Solanes authored
Continuing the cleanups and using the tags rather than synchronized_ in the name of the accessors. `map_word` (and its setter) can also be marked explicitly as relaxed to show that they are atomic accessors. Bug: v8:7790 Change-Id: I0725054ef37022c777f47660cb11cf839bb7f273 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2897094Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#74605}
-
- 07 May, 2021 1 commit
-
-
Jakob Kummerow authored
Hopefully making it easier to determine the problem when a dynamically-sized object type allows too small sizes. Change-Id: Iac33c501da6349e02f570fe8c9092758cd9d59a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874654 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74440}
-
- 05 Oct, 2020 1 commit
-
-
Santiago Aboy Solanes authored
We can use tag dispatching to distinguish between the synchronized and non-synchronized accessors. Also eliminated the need of adding explicit "synchronized" in the name when using the macros. As a note, we currently have one case of using both relaxed and synchronized accessors (Map::instance_descriptors). Cleaned up: * BytecodeArray::source_position_table * Code::code_data_container * Code::source_position_table * FunctionTemplateInfo::call_code * Map::instance_descriptors * Map::layout_descriptor * SharedFunctionInfo::function_data Bug: v8:7790 Change-Id: I5a502f4b2df6addb6c45056e77061271012c7d90 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2424130 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: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#70306}
-
- 30 Sep, 2020 1 commit
-
-
Etienne Pierre-doray authored
This is a reland of 92f815a8 Safe to reland as-is with task id lifetime fix in https://chromium-review.googlesource.com/c/v8/v8/+/2437005 Original change's description: > Reland "[Heap] ScavengerCollector use Jobs." > > This is a reland of 9e8c54f8 > Safe to reland as-is with fix in AcquireTaskId > https://chromium-review.googlesource.com/c/v8/v8/+/2401964 > > Additional changes are made in the reland: > -TRACE_GC is be split for background/foreground scope. > -New IndexGenerator is used for dynamic work assignement. > > Original change's description: > > [Heap] ScavengerCollector use Jobs. > > > > No yielding is necessary since the main thread Join()s. > > > > max concurrency is determined based on either > > remaining_memory_chunks_ or global pool size > > (copied_list_ + promotion_list_) > > > > Change-Id: Ie30fa86c44d3224b04df5d79569bce126ce7d96b > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354390 > > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69746} > > Change-Id: Id9d7a5bf3b2337ae4cf1e76770f4b14ebb8ca256 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399041 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70135} Change-Id: Id0451b6eca9a125c7695d251d1a7d813e0664dd3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2432071 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#70238}
-
- 25 Sep, 2020 2 commits
-
-
Etienne Pierre-Doray authored
This reverts commit 92f815a8. Reason for revert: broke tests; see https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/33395? Original change's description: > Reland "[Heap] ScavengerCollector use Jobs." > > This is a reland of 9e8c54f8 > Safe to reland as-is with fix in AcquireTaskId > https://chromium-review.googlesource.com/c/v8/v8/+/2401964 > > Additional changes are made in the reland: > -TRACE_GC is be split for background/foreground scope. > -New IndexGenerator is used for dynamic work assignement. > > Original change's description: > > [Heap] ScavengerCollector use Jobs. > > > > No yielding is necessary since the main thread Join()s. > > > > max concurrency is determined based on either > > remaining_memory_chunks_ or global pool size > > (copied_list_ + promotion_list_) > > > > Change-Id: Ie30fa86c44d3224b04df5d79569bce126ce7d96b > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354390 > > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#69746} > > Change-Id: Id9d7a5bf3b2337ae4cf1e76770f4b14ebb8ca256 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399041 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70135} TBR=ulan@chromium.org,etiennep@chromium.org Change-Id: I4823c642546b82a9a9c8955151cd8784e4b86bc8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2431551 Commit-Queue: Francis McCabe <fgm@chromium.org> Reviewed-by: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#70138}
-
Etienne Pierre-doray authored
This is a reland of 9e8c54f8 Safe to reland as-is with fix in AcquireTaskId https://chromium-review.googlesource.com/c/v8/v8/+/2401964 Additional changes are made in the reland: -TRACE_GC is be split for background/foreground scope. -New IndexGenerator is used for dynamic work assignement. Original change's description: > [Heap] ScavengerCollector use Jobs. > > No yielding is necessary since the main thread Join()s. > > max concurrency is determined based on either > remaining_memory_chunks_ or global pool size > (copied_list_ + promotion_list_) > > Change-Id: Ie30fa86c44d3224b04df5d79569bce126ce7d96b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354390 > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69746} Change-Id: Id9d7a5bf3b2337ae4cf1e76770f4b14ebb8ca256 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2399041Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Cr-Commit-Position: refs/heads/master@{#70135}
-
- 08 Sep, 2020 2 commits
-
-
Shu-yu Guo authored
This reverts commit 9e8c54f8. Reason for revert: Data races (https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/33100) Original change's description: > [Heap] ScavengerCollector use Jobs. > > No yielding is necessary since the main thread Join()s. > > max concurrency is determined based on either > remaining_memory_chunks_ or global pool size > (copied_list_ + promotion_list_) > > Change-Id: Ie30fa86c44d3224b04df5d79569bce126ce7d96b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354390 > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#69746} TBR=ulan@chromium.org,etiennep@chromium.org Change-Id: I206397c6086cf18d5e08cf615bdaaf0f34c6d36b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398852Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#69748}
-
Etienne Pierre-doray authored
No yielding is necessary since the main thread Join()s. max concurrency is determined based on either remaining_memory_chunks_ or global pool size (copied_list_ + promotion_list_) Change-Id: Ie30fa86c44d3224b04df5d79569bce126ce7d96b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354390 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69746}
-
- 17 Jun, 2020 1 commit
-
-
Dan Elphick authored
Since ReadOnlySpace pages will soon not be MemoryChunks, change most uses of MemoryChunk::FromHeapObject and FromAddress to use the BasicMemoryChunk variants and which use the new MemoryChunk::cast function that takes a BasicMemoryChunk and DCHECKs !InReadOnlySpace(). To enable this, it also moves into BasicMemoryChunk several MemoryChunk functions that just require a BasicMemoryChunk. Bug: v8:10454 Change-Id: I80875b2c2446937ac2c2bc9287d36e71cc050c38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2243216 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#68390}
-
- 05 May, 2020 1 commit
-
-
Dan Elphick authored
Also makes memory-chunk.h accessible from outside heap which allows removal of some heap-inl.h includes. Bug: v8:10473, v8:10496 Change-Id: Iec4fc5ce8ad201f6ee5fd924cc3cd935324429fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172088 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67551}
-
- 17 Jan, 2020 1 commit
-
-
Dominik Inführ authored
Split the linked list of array buffer extensions into two lists for young and old JSArrayBuffers. Process young extensions during the minor GC pause. When promoting JSArrayBuffers into the old gen, move the extension into the old linked list as well. Bug: v8:10064 Change-Id: I07275ffe7ba918c9b2d6d0648a6d1b59e4fa4891 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1997438 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#65842}
-
- 16 Oct, 2019 1 commit
-
-
Jakob Kummerow authored
for "entries", i.e. indices into the backing store (as opposed to "public indices" going into the hash function). This improves consistency and compiler-enforced type safety; no change in behavior is intended. Change-Id: I25e57e3ddcf18a406e2dfbd66786b6980c4e9615 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1852768 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64317}
-
- 29 Jul, 2019 1 commit
-
-
Darius Mercadier authored
Bug: v8:9329 Change-Id: Id92ab58179a5b5765560f22beefef842055d7e28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1715461 Commit-Queue: Darius Mercadier <dmercadier@google.com> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62950}
-
- 14 Jun, 2019 1 commit
-
-
Igor Sheludko authored
It will allow us to use knowledge about the type of field during value decompression upon field read. Use the new class for HeapObject::MapField. Bug: v8:9353 Change-Id: I1368426ec2e25fcec3af8d5cccd7a78d80423e72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1658150 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62184}
-
- 04 Jun, 2019 2 commits
-
-
Maciej Goszczycki authored
Read-only heap sharing clears heap_ in read-only memory chunks because ReadOnlySpace is shared between multiple isolates. Bug: v8:7464 Change-Id: I821c94303ab3710c279e6c11a8ca8537aac0d0af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1642809 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@{#61987}
-
Maciej Goszczycki authored
As it stands most of ReadOnlySpace class's method are unusable once it has been sealed, since all of its pages are read-only. Set owner_ to null to ensure nothing unintentionally uses it. This also helps with separating the ReadOnlySpace from the Heap class in the future as ReadOnlySpace might not inherit from Space. Bug: v8:7464 Change-Id: I3b24f20c644d6f5e23647bc1de4d256a20a0eb19 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1637800Reviewed-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@{#61979}
-
- 23 May, 2019 3 commits
-
-
Clemens Hammacher authored
This fixes compile errors after https://crrev.com/c/1624788. TBR=jkummerow@chromium.org No-Try: true Bug: v8:9183, v8:3770 Change-Id: I982e77e86389163f1549bbb02621b17972bbc158 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627336Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61774}
-
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}
-
Clemens Hammacher authored
This CL was generated by an automatic clang AST rewriter using this matcher expression: callExpr( callee( cxxMethodDecl( hasName("operator->"), ofClass(isSameOrDerivedFrom("v8::internal::Object")) ) ), argumentCountIs(1) ) The "->" at the expression location was then rewritten to ".". R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org Bug: v8:9183, v8:3770 No-Try: true No-Tree-Checks: true Change-Id: I0a7ecabdeafe51d0cf427f5280af0c7cab96869e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624209Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61764}
-
- 20 May, 2019 3 commits
-
-
Sigurd Schneider authored
This is a reland of 5ce68669 TBR=ishell@chromium.org Original change's description: > Enable alignment checks when reading object fields > > Drive-by: Fix alignment bugs caused by DCHECKS. > > Bug: v8:9264 > > Change-Id: I0836b1d08fea2ce11d8f7929e12f303b6ae06efe > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617676 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61643} Bug: v8:9264 Change-Id: Ice9b819cc29eec0c341f16ef35fad4867f5df85b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619754Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61664}
-
Clemens Hammacher authored
This reverts commit 5ce68669. Reason for revert: Fails on win32 debug: https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/20394 Original change's description: > Enable alignment checks when reading object fields > > Drive-by: Fix alignment bugs caused by DCHECKS. > > Bug: v8:9264 > > Change-Id: I0836b1d08fea2ce11d8f7929e12f303b6ae06efe > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617676 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61643} TBR=ulan@chromium.org,jkummerow@chromium.org,sigurds@chromium.org,petermarshall@chromium.org,ishell@chromium.org Change-Id: I0ac73a880f2b7bd718e23e90c0867192def39dbb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9264 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619750Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61651}
-
Sigurd Schneider authored
Drive-by: Fix alignment bugs caused by DCHECKS. Bug: v8:9264 Change-Id: I0836b1d08fea2ce11d8f7929e12f303b6ae06efe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617676 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61643}
-
- 07 Mar, 2019 1 commit
-
-
Sigurd Schneider authored
This change enables clean-up of weak map entries in the scavenger of the weak map is in the young generation. With this change, the scavenger treats keys in ephemerons as weak instead of strong, but does not implement full ephemeron semantics: Values are treated always as strong, independently of whether the key is live or not. This approach ensures that no value is cleaned up accidentally. After scavenging, all entries with dead keys are removed from weak maps. After that, some values that are not referenced anywhere anymore might still be in the heap, and those can be cleaned up in the next scavenge. What the scavenger does, amounts to one iteration of the fixed-point algorithm required to implement ephemeron semantics. We hope that this is a reasonable trade-off between time spent tracing and cleaned-up entries. This change does not affect weak maps that reside in old space. Bug: v8:8557 Change-Id: Ic5618b3b863ad8c314c87449571150e756fecbf0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1467182 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60101}
-
- 27 Feb, 2019 1 commit
-
-
Igor Sheludko authored
This CL also unifies CopyWords() and CopyBytes() implementations. Bug: v8:7703 Change-Id: I0b2e2f35c0c651e46231c4e4286c705634dce02b Reviewed-on: https://chromium-review.googlesource.com/c/1491602Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59912}
-
- 06 Feb, 2019 1 commit
-
-
Ulan Degenbaev authored
For the initial implementation we simply keep the capacity of the young large object space in sync with the capacity of the new space. The only subtlety is that we allow at least one large object independent from its size. So it may exceed the capacity of the space. This also fixes setting of the large page flags for incremental marking. Bug: chromium:852420 Change-Id: I12a9d4a7350464ca291710917ecad782ae73b8e1 Reviewed-on: https://chromium-review.googlesource.com/c/1456092 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59422}
-
- 05 Feb, 2019 1 commit
-
-
Ulan Degenbaev authored
This also fixes external string table update after scavenge and the fast promotion mode. Bug: chromium:852420 Change-Id: I5d2e1b585b8c74970047867aa587f928e116ed73 Reviewed-on: https://chromium-review.googlesource.com/c/1454604 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59379}
-
- 29 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
This replaces InNewSpace with InYoungGeneration, which is a prerequisite for young large objects. Additional changes: - FROM_SPACE, TO_SPACE flags are renamed to FROM_PAGE, TO_PAGE. - A new LARGE_PAGE flag is added. - The external string table is refactored to track young string instead of new space strings. Bug: chromium:924547 Change-Id: Ia4e3ba1b72995c3400257a1f98559f091533e811 Reviewed-on: https://chromium-review.googlesource.com/c/1437274Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59156}
-
- 24 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
This patch reduces the cost of the predicate that computes whether an object contains only data or may contain pointers. This also guards pushing to the copy_list_ with the predicate. Bug: chromium:852420 Change-Id: I55c4e15eb8341708a21f484fb95b2c2cc2b25143 Reviewed-on: https://chromium-review.googlesource.com/c/1430068 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59074}
-