- 17 Dec, 2019 2 commits
-
-
Ulan Degenbaev authored
This adds heuristics to perform young and full GCs on allocation of external ArrayBuffer backing stores. Young GCs are performed proactively based on the external backing store bytes for the young generation. Full GCs are performed only if the allocation fails. Subsequent CLs will add heuristics to start incremental full GCs based on the external backing store bytes. This will allow us to remove AdjustAmountOfExternalMemory for ArrayBuffers. Bug: v8:9701, chromium:1008938 Change-Id: I0e8688f582989518926c38260b5cf14e2ca93f84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803614 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#65480}
-
Dan Elphick authored
Since RecordStats during GC, (when it fails to recover enough memory), it unsafe for it to allocate any memory. Thus it cannot call PrintStack which can call SharedFunctionInfo::EnsureSourcePositionsAvailable and which may allocate, so this removes the call to PrintStack which is apparently not useful for debugging anyway. Bug: chromium:1032087 Change-Id: I94feeaab1445f7fd4f770a20197546fc40c77390 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967377Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#65475}
-
- 11 Dec, 2019 1 commit
-
-
Ulan Degenbaev authored
This unifies marking worklists handling by the main thread marker and by the concurrent markers. A new class called MarkingWorklistsHolder owns all marking worklists: the default worklist, the on-hold worklist, and the embedder worklist. Each thread creates a local view of the marking worklists by creating an instance of MarkingWorklists. Additionally, marking visitors now work on MarkingWorklists instead of accessing each worklist individually. Besides cleaning the code up, this CL provides a bottleneck for implementing per-context worklists. Bug: chromium:973627 Change-Id: I52ad65c94bc0695287ba7bf4d8a814a9035e2888 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1941947Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#65421}
-
- 18 Nov, 2019 1 commit
-
-
Tobias Tebbi authored
For many subclasses of JSObject, we used kSize instead of kHeaderSize even though they can contain in-object properties. In fact, kSize was very much used as the header size, as can be seen in many examples in this CL. This change is a preparation for a for a cleanup of how Torque generates field offsets. TBR=hpayer@chromium.org Change-Id: I350e996057cd66c427381334080f8ac93de88597 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1917141 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#65013}
-
- 15 Nov, 2019 1 commit
-
-
Maya Lekova authored
This helps reduce the number of false positives encountered by the dead variable analysis in gcmole. TBR=jgruber@chromium.org, verwaest@chromium.org, yangguo@chromium.org Bug: v8:9810 Change-Id: I1a34ccaab340e6abc37832b4ce1a0cabc56fa438 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1917146 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64981}
-
- 14 Nov, 2019 1 commit
-
-
Clemens Backes authored
In Liftoff, we have a good estimate about how big the generated code might get. Also, we often compile hundreds of functions which each hold an assembler buffer alive until we finally add that code to the wasm module. In order to reduce memory consumption in Liftoff, this CL reduces {AssemblerBase::kMinimalBufferSize} from 4096 to 128, and adds {AssemblerBase::kDefaultBufferSize} to be used instead. R=jkummerow@chromium.org Change-Id: I7029bf501244770f4824a86b233d7f99c4b7910b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914559Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64958}
-
- 29 Oct, 2019 1 commit
-
-
Pierre Langlois authored
When inlined allocations are disabled, the space->limit() does not point to the end of the current page. Instead, it points to the current allocation pointer so is the same as space->top(). See how the limit is computed, if heap()->inline_allocation_disabled(), then the limit will be the same as the requested allocation area: ``` Address SpaceWithLinearArea::ComputeLimit(Address start, Address end, size_t min_size) { DCHECK_GE(end - start, min_size); if (heap()->inline_allocation_disabled()) { // Fit the requested area exactly. return start + min_size; } else if (SupportsInlineAllocation() && AllocationObserversActive()) { // ... } else { // The entire node can be used as the linear allocation area. return end; } } ``` If we want to simulate filling up a whole page in the new space, we can instead look at the ToSpace's page_high() which will be the end of the current page in which we're allocating. Bug: v8:9906 Change-Id: I81113d151bc083cd22d17ea1a4fbae7fef9dff6d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886914Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#64612}
-
- 28 Oct, 2019 1 commit
-
-
Seth Brenith authored
This change begins making use of the fact that Torque now knows about the relationship between classes and instance types, to replace a few repetitive lists: - Instance type checkers (single and range), defined in src/objects/instance-type.h - Verification dispatch in src/diagnostics/objects-debug.cc - Printer dispatch in src/diagnostics/objects-printer.cc - Postmortem object type detection in tools/debug_helper/get-object-properties.cc Torque is updated to generate four macro lists for the instance types, representing all of the classes separated in two dimensions: classes that correspond to a single instance type versus those that have a range, and classes that are fully defined in Torque (with fields and methods inside '{}') versus those that are only declared. The latter distinction is useful because fully-defined classes are guaranteed to correspond to real C++ classes, whereas only-declared classes are not. A few other changes were required to make the lists above work: - Renamed IsFiller to IsFreeSpaceOrFiller to better reflect what it does and avoid conflicts with the new macro-generated IsFiller method. This is the part I'm most worried about: I think the new name is an improvement for clarity and consistency, but I could imagine someone typing IsFiller out of habit and introducing a bug. If we'd prefer to keep the name IsFiller, my other idea is to rename FreeSpace to VariableSizeFiller and Filler to FixedSizeFiller. - Made Tuple3 extend from Struct, not Tuple2, because IsTuple2 is expected to check for only TUPLE2_TYPE and not include TUPLE3_TYPE. - Normalized the dispatched behavior for BigIntBase and HeapNumber. - Added a few new object printers. Bug: v8:7793 Change-Id: I5462bb105f8a314baa59bd6ab6ab6215df6f313c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860314 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64597}
-
- 23 Oct, 2019 1 commit
-
-
Dominik Inführ authored
This function was only used for the write barrier since the store buffer only stored slots and needed a way to get to the object's start. Now that we insert into the remembered set directly from the write barrier this isn't an issue anymore: the write barrier knows the object start. Change-Id: I701465ea40b7c4ee20404ecbcf3750e5fa6fd219 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876049Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#64518}
-
- 17 Oct, 2019 1 commit
-
-
Dominik Inführ authored
Add FLAG_always_promote_young_mc that always promotes young objects during a Full GC when enabled. This flag guarantees that the young gen and the sweeping remembered set are empty after a full GC. This CL also makes use of the fact that the sweeping remembered set is empty and only invalidates an object when there were old-to-new slots recorded on its page. Bug: chromium:1014943 Change-Id: Idfb13dfbe76bad5ec8b485a60bebc30531aec649 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863201 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64348}
-
- 11 Oct, 2019 1 commit
-
-
Ulan Degenbaev authored
This makes allocation of backing stores more robust by perfoming GCs on allocation failure. The GCs help if there are existing large backing stores that are retained by dead JSArrayBuffer objects. Bug: chromium:1008938, v8:9380 Change-Id: Ic80b29214b8843427dfcdd141df71363821afe71 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1855998 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64241}
-
- 07 Oct, 2019 2 commits
-
-
Tobias Tebbi authored
For this, all Torque stub-linkage builtins use TFC instead of TFS, with a custom descriptor added to interface-descriptors.h To avoid having complex logic in the generated code, the new class TorqueInterfaceDescriptor contains the logic to create a CallInterfaceDescriptor from a signature consisting of TNode types. As an example and test, this CL ports StringCharAt to Torque. Bug: v8:7793 Change-Id: I8339d2ad6e4f908ebdc3b8d30244e4bcbd974f21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798427Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64148}
-
Irina Yatsenko authored
Change-Id: Ibbcd91115c21e3513602a039ebb68a0107a4022f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829172 Commit-Queue: Irina Yatsenko <irinayat@microsoft.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64146}
-
- 04 Oct, 2019 1 commit
-
-
Dominik Inführ authored
Now that sweeping uses its own RememberedSet, pre-freeing of empty buckets is not necessary anymore. Mutator inserts into a different remembered set, than the sweeper removes slots from. Bug: v8:9454 Change-Id: I65d046926aa82aeb9eca7694e6a7eff1331d7e01 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835547 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64114}
-
- 25 Sep, 2019 1 commit
-
-
Dominik Inführ authored
Since https://crrev.com/c/1771783 the mutator owns the old-to-new remembered set, while the sweeper modifies the sweeping-slot-set. This allows us to update the old-to-new remembered set non-atomically. In this CL the mutator now inserts non-atomically into the remembered set. The AccessMode is now explicit for Insert-operations as well. Bug: v8:9454 Change-Id: I94730345f7dd34fe309839969330687c94b3080b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803652 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63971}
-
- 18 Sep, 2019 1 commit
-
-
Irina Yatsenko authored
Added tests for the scenario when the fillers would be evacuated within the new space and when they would be promoted into the old space. The fix is to treat the deferred handles the same as the local ones: call FixStaleLeftTrimmedHandlesVisitor for them. Bug: v8:9739 Change-Id: Idac233716295f53793657164561bb81f8f729065 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809815 Commit-Queue: Irina Yatsenko <irinayat@microsoft.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63880}
-
- 17 Sep, 2019 1 commit
-
-
Georg Neis authored
- There was no use of DisallowDeferredHandleDereference, so remove the corresponding assertion scope and related code. - Make DeferredHandleScope::Detach return a unique_ptr rather than a raw pointer for clarity. - Store DeferredHandles in compilation info as unique_ptr rather than shared_ptr, as it's never shared. - Remove some unused methods. Change-Id: I8327399fd291eba782820dd7a62c3bbdffedac4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1805645 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63828}
-
- 16 Sep, 2019 1 commit
-
-
Victor Gomes authored
Uses templates to dispath the allocation flag statically. Bug: v8:9714 Change-Id: I1998ae47be2f7d872d34b3bc2390d01cbfad6afa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801848 Auto-Submit: Victor Gomes <victorgomes@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#63783}
-
- 11 Sep, 2019 1 commit
-
-
Dominik Inführ authored
SharedFunctionInfos that do not belong to a script were tracked in noscript_shared_function_infos. However this was only used in object-stats. Remove this since it was actually leaking memory in some use cases. Bug: v8:9674 Change-Id: I9482f7e5dedf975666a70684b3d2ea04c9a23518 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1798423Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#63685}
-
- 22 Aug, 2019 1 commit
-
-
Dominik Inführ authored
This reverts commit 74e68e6a. Reason for revert: We want to keep this API. Original change's description: > [heap] Remove ClearRecordedSlots > > Do not pass it as argument to CreateObjectFillerAt and remove the enum. > > Bug: v8:9454 > Change-Id: Iafa37acbfea73d3cabb1732dbec0944db859fac2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762017 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63282} TBR=ulan@chromium.org,petermarshall@chromium.org,dinfuehr@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9454 Change-Id: I9a0a249294957740f831b28f5fefef132123d0e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762523Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#63338}
-
- 20 Aug, 2019 2 commits
-
-
Leszek Swirski authored
Since the mutability of HeapNumbers is determined by their owning object's descriptor array, we can remove the MutableHeapNumber type entirely, at the cost of a few fewer DCHECKs and a couple of TODOs to use the descriptor array information. This is a necessary step towards a follow-up which allows in-place Double -> Tagged transitions Design doc: https://docs.google.com/document/d/1VeKIskAakxQFnUBNkhBmVswgR7Vk6T1kAyKRLhqerb4/ Bug: v8:9606 Change-Id: I13209f9c86f1f204088f6fd80089e17d956b4a50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1743972 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#63294}
-
Dominik Inführ authored
Do not pass it as argument to CreateObjectFillerAt and remove the enum. Bug: v8:9454 Change-Id: Iafa37acbfea73d3cabb1732dbec0944db859fac2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762017Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#63282}
-
- 19 Aug, 2019 2 commits
-
-
Dominik Inführ authored
This reverts commit 60843b42. Reason for revert: TSAN detected issue between Scavenge workers. One task could invoke RefillFreeList(), while the other task iterates the remembered set of a swept page. Original change's description: > Use list of invalidated objects for old-to-new refs > > Instead of inserting "deletion" entries into the store buffer, keep a > list of invalidated objects to filter out invalid old-to-new slots. > > The first CL https://crrev.com/c/1704109 got reverted because both the > sweeper and the main task were modifying the invalidated slots data > structure concurrently. This CL changes this, such that the sweeper > only modifies the invalidated slots during the final atomic pause when > the main thread is not running. The sweeper does not need to clean this > data structure after the pause, since the "update pointers" phase > already removed all invalidated slots. > > The second CL https://crrev.com/c/1733081 got reverted because the > sweeper might find more free space than the full GC before it. If an > object shrinks after the pause but before the sweep, the invalidated > object might span free memory and potentially new allocated objects. > Therefore shrink invalidated objects when processing swept pages on > the main thread. Also clean recorded slots in the gap. > > TBR=petermarshall@chromium.org > > Bug: v8:9454 > Change-Id: I80d1fa3bbc24e97f7c97a373aaad66f105456f12 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1751795 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63239} TBR=ulan@chromium.org,hpayer@chromium.org,dinfuehr@chromium.org Change-Id: I9c6a371ebe36a1873acbe0d6c6a75dd2f5a55f4e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9454 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1760817Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#63253}
-
Dominik Inführ authored
Instead of inserting "deletion" entries into the store buffer, keep a list of invalidated objects to filter out invalid old-to-new slots. The first CL https://crrev.com/c/1704109 got reverted because both the sweeper and the main task were modifying the invalidated slots data structure concurrently. This CL changes this, such that the sweeper only modifies the invalidated slots during the final atomic pause when the main thread is not running. The sweeper does not need to clean this data structure after the pause, since the "update pointers" phase already removed all invalidated slots. The second CL https://crrev.com/c/1733081 got reverted because the sweeper might find more free space than the full GC before it. If an object shrinks after the pause but before the sweep, the invalidated object might span free memory and potentially new allocated objects. Therefore shrink invalidated objects when processing swept pages on the main thread. Also clean recorded slots in the gap. TBR=petermarshall@chromium.org Bug: v8:9454 Change-Id: I80d1fa3bbc24e97f7c97a373aaad66f105456f12 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1751795 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63239}
-
- 08 Aug, 2019 1 commit
-
-
Dominik Inführ authored
This reverts commit e2f98ec2. Reason for revert: Caused performance regression in ArrayLiteralInitialSpreadSmallHoley. Original change's description: > Use list of invalidated objects for old-to-new refs > > Instead of inserting "deletion" entries into the store buffer, keep > a list of invalidated objects to filter out invalid old-to-new slots. > > The first CL https://crrev.com/c/1704109 got reverted because both the sweeper and the main task were modifying the invalidated slots data structure concurrently. This CL changes this, such that the sweeper only modifies the invalidated slots during the final atomic pause when the main thread is not running. The sweeper does not need to clean this data structure after the pause, since the "update pointers" phase already removed all invalidated slots. > > Bug: v8:9454 > Change-Id: Iffb5bf96de2c89eee1ee1231a3414a0f2a155cbc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1733081 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63087} TBR=ulan@chromium.org,petermarshall@chromium.org,dinfuehr@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9454 Change-Id: I328b9f72df45fc9570d4a4d1b5389eac010638c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1743970 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#63131}
-
- 06 Aug, 2019 1 commit
-
-
Dominik Inführ authored
Instead of inserting "deletion" entries into the store buffer, keep a list of invalidated objects to filter out invalid old-to-new slots. The first CL https://crrev.com/c/1704109 got reverted because both the sweeper and the main task were modifying the invalidated slots data structure concurrently. This CL changes this, such that the sweeper only modifies the invalidated slots during the final atomic pause when the main thread is not running. The sweeper does not need to clean this data structure after the pause, since the "update pointers" phase already removed all invalidated slots. Bug: v8:9454 Change-Id: Iffb5bf96de2c89eee1ee1231a3414a0f2a155cbc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1733081Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#63087}
-
- 16 Jul, 2019 2 commits
-
-
Dominik Inführ authored
This reverts commit dcac02ee. Reason for revert: TSAN discovered issue with cleaning invalidated slots in sweeper threads and inserting new slots in the main thread. Original change's description: > Use list of invalidated objects for old-to-new refs > > Instead of inserting "deletion" entries into the store buffer, keep > a list of invalidated objects to filter out invalid old-to-new slots. > > Bug: v8:9454 > Change-Id: Icd21d8cb2159190457f54d0f8b56742ecc820419 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695474 > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62744} TBR=ulan@chromium.org,petermarshall@chromium.org,dinfuehr@chromium.org Change-Id: I4278e9100c76657663e0a6a62f5d86bb3a343c0e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9454 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1704109Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#62746}
-
Dominik Inführ authored
Instead of inserting "deletion" entries into the store buffer, keep a list of invalidated objects to filter out invalid old-to-new slots. Bug: v8:9454 Change-Id: Icd21d8cb2159190457f54d0f8b56742ecc820419 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695474 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#62744}
-
- 12 Jul, 2019 1 commit
-
-
Michael Achenbach authored
This reverts commit a10a1a65. Reason: Huge test time regression, see https://crbug.com/v8/9402. Bug: v8:9402 Change-Id: Ia71309d255ed8d9c3e96a90cc5bf6cb3ad77beaf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698400 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62679}
-
- 08 Jul, 2019 1 commit
-
-
Ulan Degenbaev authored
This reverts commit 907f3a64. Reason for revert: speculative revert for v8:9445 I will reland if the crash is not fixed by the revert. Original change's description: > [heap] Replace ConcurrentSweepingState with a MemoryChunk local epoch counter. > > Bug: v8:9093 > Change-Id: I7c415fd0ea9e48f7ee189115f164825cb120695b > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624213 > Commit-Queue: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62423} TBR=ulan@chromium.org,hpayer@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9093, v8:9445 Change-Id: Ia81a52579dc0a89f57ee41c7d0f8b1ba0f9bba81 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1691025 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62575}
-
- 27 Jun, 2019 1 commit
-
-
Hannes Payer authored
Bug: v8:9093 Change-Id: I7c415fd0ea9e48f7ee189115f164825cb120695b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624213 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#62423}
-
- 26 Jun, 2019 1 commit
-
-
Jakob Gruber authored
Large regexp results may exceed kMaxRegularHeapObjectSize and must thus be allocated in large object space. Drive-by: Rename '%InNewSpace' to '%InYoungGeneration'. Bug: chromium:976627 Change-Id: I38b5aecb95a95cf2fdbb24d19550cec34361a09d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1674027Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62368}
-
- 25 Jun, 2019 1 commit
-
-
Tobias Tebbi authored
This is a reland of 93b6c866 The bug that caused the test failures has been fixed in https://chromium-review.googlesource.com/c/v8/v8/+/1667417 Original change's description: > [csa] add hint to CAST error message to break in mksnapshot > > Change-Id: I51a22de5d6367c38056ea91eface4f69f6651993 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664069 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62274} TBR=mvstanton@chromium.org, ulan@chromium.org Change-Id: I7bb0b4237b6eada82456bc9cf2f293d5986f0d65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675954Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62353}
-
- 19 Jun, 2019 2 commits
-
-
Adam Klein authored
This reverts commit 93b6c866. Reason for revert: Breaks on nosnap debug: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20nosnap%20-%20debug/24470 Original change's description: > [csa] add hint to CAST error message to break in mksnapshot > > Change-Id: I51a22de5d6367c38056ea91eface4f69f6651993 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664069 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62274} TBR=ulan@chromium.org,mvstanton@chromium.org,tebbi@chromium.org Change-Id: I778b3a2c79776575efc8de43cf25e19ae301fca9 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1667484Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#62295}
-
Tobias Tebbi authored
Change-Id: I51a22de5d6367c38056ea91eface4f69f6651993 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664069Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62274}
-
- 18 Jun, 2019 1 commit
-
-
Jakob Gruber authored
This CL renames jsregexp.{h,cc} to regexp.{h,cc}, hides all non-public functions of RegExpImpl in the .cc file, and renames the public parts of RegExpImpl to just RegExp. Include directives from outside the src/regexp directory are limited to regexp.h, regexp-stack.h, and regexp-utils.h. We also expose all result codes that can be returned by irregexp code (including RETRY) on the public header since they are needed elsewhere, e.g. in builtins. Bug: v8:9359 Change-Id: Iae1a01ac9f6e1e4dc168f3fbe8fe8679cb6b1259 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1662297Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62240}
-
- 17 Jun, 2019 1 commit
-
-
Maciej Goszczycki authored
Rename LargeObjectIterator to LargeObjectSpaceObjectIterator. Rename SemiSpaceIterator to SemiSpaceObjectIterator. Rename CombinedHeapIterator to CombinedHeapObjectIterator. Rename ReadOnlyHeapIterator to ReadOnlyHeapObjectIterator. Rename HeapIterator to HeapObjectIterator. Rename HeapObjectIterator to PagedSpaceObjectIterator. Rename PagedSpaces to PagedSpaceIterator. Bug: v8:9183 Change-Id: If4bd65d81e50bb45d207a897baaca8b723e4f10b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1645914Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#62217}
-
- 11 Jun, 2019 2 commits
-
-
Igor Sheludko authored
Tbr: ulan@chromium.org Bug: v8:9353 Change-Id: I99533e21fd186f6d0191f4f500d1a3055a0f92c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1648260 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#62082}
-
Simon Zünd authored
This CL is the starting point to convert all FrameArray users to use StackTraceFrame objects instead. Bug: v8:8742 Change-Id: I7bd0081dfd428e9914dedebd5065ac262aacec0b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627332Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62076}
-
- 06 Jun, 2019 1 commit
-
-
Ulan Degenbaev authored
The new API function is called ConfigureDefaultsFromHeapSize and accepts two parameters: the initial and the maximum heap size. Based on the given limits the function computes the default size for the young and the old generation. The patch also cleans up the existing functions to make them consistent in terms of units and heap structure. Bug: v8:9306 Change-Id: If2200a9cdb45b0b818a373207efe4e6426f7b688 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631593 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#62017}
-