- 13 Feb, 2019 2 commits
-
-
Pierre Langlois authored
Each page has a `live_byte_count_` field in its header and it is always accessed with atomic operations. However, apart from one corner case, this field is only accessed by the main thread so let's remove the atomicity by default. To summarise, this changes the MarkingState accessors in the following way: - IncrementalMarkingState: Accesses of live_byte_count_ are now non-atomic. Concurrent marking uses local maps of live bytes per page so we have exclusive access to the field when using this. - MajorAtomicMarkingState: This accessor does not guarantee exclusive access to live_byte_count_ so we need to keep the access atomic. This is used by the scavenger when migrating an object that was marked black, since marking an object black will implicitly increment the live_byte_count_. Additionally, the live_bytes() and SetLiveBytes() accessor methods were not used so remove them. - MajorNonAtomicMarkingState: Accesses of live_byte_count_ are not actually non-atomic. - MinorNonAtomicMarkingState: The `young_generation_live_byte_count_` field is atomic so we can set the memory order manual to relax accesses. Change-Id: I4c6457843783157ca878540e34ad50878afee20c Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel Reviewed-on: https://chromium-review.googlesource.com/c/1456095Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#59548}
-
Sigurd Schneider authored
- const return type on Full{,Maybe,Heap}ObjectSlot::operator* - Removed stale friend declarations - Moved a method to the right section Bug: v8:8557 Change-Id: I0bd3efdb96a7d997b4404d3a247bea55b083d611 Reviewed-on: https://chromium-review.googlesource.com/c/1467781Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59546}
-
- 11 Feb, 2019 1 commit
-
-
Ulan Degenbaev authored
Bug: chromium:852420 Change-Id: I08207462e1177fb7e56d37ce221d8bef21cfb25e Reviewed-on: https://chromium-review.googlesource.com/c/1462964Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59500}
-
- 30 Jan, 2019 1 commit
-
-
Marja Hölttä authored
This replaces WeakFactory with FinalizationGroup. New API is here: https://weakrefs.netlify.com/ BUG=v8:8179 Change-Id: I8c1c4a70deb42581d17117423dd29d93bdd35cb0 Reviewed-on: https://chromium-review.googlesource.com/c/1435938Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#59204}
-
- 22 Jan, 2019 1 commit
-
-
Ross McIlroy authored
This is a reland of f5729f1c TBR=ulan@chromium.org Original change's description: > [GC] Ensure JSFunctions with flushed bytecode are flushed during GC. > > When bytecode is flushed from a SFI, the JSFunctions still retain their > FeedbackVector's and point to the interpreter entry trampoline. They are > reset if re-executed, however if not they could hold onto the feedback > vector indefinetly. This CL adds a pass the GC to detect JSFunctions that > need to be reset, and performs the reset at the end of GC. > > BUG=v8:8395 > > Change-Id: I3de8655aff9ff80f912b4fd51dee43eb98cfd519 > Reviewed-on: https://chromium-review.googlesource.com/c/1393292 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58775} Bug: v8:8395 Change-Id: If9580b25ba32e4065e20d86cb8ed22a3280d59e9 Reviewed-on: https://chromium-review.googlesource.com/c/1424860Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#59001}
-
- 18 Jan, 2019 3 commits
-
-
Clemens Hammacher authored
This reverts commit d5e63b03. Reason for revert: Fails gc-stress: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Mac64%20GC%20Stress/5312 Original change's description: > Reland "[GC] Ensure JSFunctions with flushed bytecode are flushed during GC." > > This is a reland of f5729f1c > > TBR=ulan@chromium.org > > Original change's description: > > [GC] Ensure JSFunctions with flushed bytecode are flushed during GC. > > > > When bytecode is flushed from a SFI, the JSFunctions still retain their > > FeedbackVector's and point to the interpreter entry trampoline. They are > > reset if re-executed, however if not they could hold onto the feedback > > vector indefinetly. This CL adds a pass the GC to detect JSFunctions that > > need to be reset, and performs the reset at the end of GC. > > > > BUG=v8:8395 > > > > Change-Id: I3de8655aff9ff80f912b4fd51dee43eb98cfd519 > > Reviewed-on: https://chromium-review.googlesource.com/c/1393292 > > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#58775} > > Bug: v8:8395 > Change-Id: I9bc84b62332575a080561c51f08b699b91e41e4a > Reviewed-on: https://chromium-review.googlesource.com/c/1414859 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58924} TBR=ulan@chromium.org,rmcilroy@chromium.org Change-Id: I5d3012d4c7277ae792b0488780ff426d51dd602f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8395 Reviewed-on: https://chromium-review.googlesource.com/c/1421838Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58925}
-
Ross McIlroy authored
This is a reland of f5729f1c TBR=ulan@chromium.org Original change's description: > [GC] Ensure JSFunctions with flushed bytecode are flushed during GC. > > When bytecode is flushed from a SFI, the JSFunctions still retain their > FeedbackVector's and point to the interpreter entry trampoline. They are > reset if re-executed, however if not they could hold onto the feedback > vector indefinetly. This CL adds a pass the GC to detect JSFunctions that > need to be reset, and performs the reset at the end of GC. > > BUG=v8:8395 > > Change-Id: I3de8655aff9ff80f912b4fd51dee43eb98cfd519 > Reviewed-on: https://chromium-review.googlesource.com/c/1393292 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58775} Bug: v8:8395 Change-Id: I9bc84b62332575a080561c51f08b699b91e41e4a Reviewed-on: https://chromium-review.googlesource.com/c/1414859 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#58924}
-
Ulan Degenbaev authored
This reverts commit 13e07389. Original change's description: > [heap] Remove bailout marking worklist. > > The concurrent marker can now process all objects. > This patch also eagerly visits the objects that undergo layout > changes. This is because previously such objects were pushed > onto the bailout worklist, which is gone now. > To preserve the incremental step accounting, the patch introduces > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE. > > Bug: v8:8486 > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f > Reviewed-on: https://chromium-review.googlesource.com/c/1386486 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58712} Change-Id: I85c99837819f6971c248198bd51ad40eebdb4fac Reviewed-on: https://chromium-review.googlesource.com/c/1417595Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58913}
-
- 15 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
It is slightly faster than Page::FromAddress(o->address()) (saves one instruction), and more concise than Page::FromAddress(o->ptr()). Same for MemoryChunk::FromHeapObject(). Bug: v8:8562 Change-Id: I9dc2b787aed5cad2d4087850dfa2e8eb157ad225 Reviewed-on: https://chromium-review.googlesource.com/c/1405031 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58806}
-
- 14 Jan, 2019 3 commits
-
-
Ulan Degenbaev authored
This reverts commit 68a8bdd8. Reason for revert: memory regression: crbug.com/921239 Original change's description: > [heap] Remove bailout marking worklist. > > The concurrent marker can now process all objects. > This patch also eagerly visits the objects that undergo layout > changes. This is because previously such objects were pushed > onto the bailout worklist, which is gone now. > To preserve the incremental step accounting, the patch introduces > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE. > > Bug: v8:8486 > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f > Reviewed-on: https://chromium-review.googlesource.com/c/1386486 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58712} TBR=ulan@chromium.org,mlippautz@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:8486, chromium:921239 Change-Id: I1f851b948f4ce403316e469999f0b16e8dfdb62d Reviewed-on: https://chromium-review.googlesource.com/c/1408990 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58787}
-
Clemens Hammacher authored
This reverts commit f5729f1c. Reason for revert: GC Stress failures, e.g. https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/23549 Original change's description: > [GC] Ensure JSFunctions with flushed bytecode are flushed during GC. > > When bytecode is flushed from a SFI, the JSFunctions still retain their > FeedbackVector's and point to the interpreter entry trampoline. They are > reset if re-executed, however if not they could hold onto the feedback > vector indefinetly. This CL adds a pass the GC to detect JSFunctions that > need to be reset, and performs the reset at the end of GC. > > BUG=v8:8395 > > Change-Id: I3de8655aff9ff80f912b4fd51dee43eb98cfd519 > Reviewed-on: https://chromium-review.googlesource.com/c/1393292 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58775} TBR=ulan@chromium.org,rmcilroy@chromium.org Change-Id: I1ba0a190e54bb84b9e2c52ae73d19eb5afc02a4b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8395 Reviewed-on: https://chromium-review.googlesource.com/c/1408993Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58778}
-
Ross McIlroy authored
When bytecode is flushed from a SFI, the JSFunctions still retain their FeedbackVector's and point to the interpreter entry trampoline. They are reset if re-executed, however if not they could hold onto the feedback vector indefinetly. This CL adds a pass the GC to detect JSFunctions that need to be reset, and performs the reset at the end of GC. BUG=v8:8395 Change-Id: I3de8655aff9ff80f912b4fd51dee43eb98cfd519 Reviewed-on: https://chromium-review.googlesource.com/c/1393292 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58775}
-
- 10 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
The concurrent marker can now process all objects. This patch also eagerly visits the objects that undergo layout changes. This is because previously such objects were pushed onto the bailout worklist, which is gone now. To preserve the incremental step accounting, the patch introduces a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE. Bug: v8:8486 Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f Reviewed-on: https://chromium-review.googlesource.com/c/1386486 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58712}
-
- 28 Dec, 2018 1 commit
-
-
Ulan Degenbaev authored
Currently the concurrent marker visits any fixed array in one go ignoring the progress bar and does not expect seeing black arrays in the worklist. For this reason, if the main thread marker starts visiting a large array with the progress bar, then it has to re-push the array in the bailout worklist. So all subsequent visitations of the array happen on the main thread. This patch makes the progress bar thread-safe and allows the concurrent marker to visit arrays in chunks. Change-Id: I5e8867077ed2908b7f9c5d8bde34d0401f7fe446 Reviewed-on: https://chromium-review.googlesource.com/c/1385164 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58484}
-
- 26 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Tbr: ahaas@chromium.org,leszeks@chromium.org,verwaest@chromium.org Bug: v8:3770 Change-Id: Ia6530fbb70dac05e9972283781c3550d8b50e1eb Reviewed-on: https://chromium-review.googlesource.com/c/1390116 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58470}
-
- 24 Dec, 2018 1 commit
-
-
Ulan Degenbaev authored
The concurrent marker can now visit maps and mark the subset of descriptors that a map requires. Bug: v8:8486 Change-Id: I184442ec90a8f60c73cfe16d6e9d66f4efa92a01 Reviewed-on: https://chromium-review.googlesource.com/c/1384320 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58466}
-
- 20 Dec, 2018 2 commits
-
-
Ulan Degenbaev authored
This fixes a bug from 0400fc20, which assumed that we can set the markbits and the marked descriptors counter independently. This does not work because the Scavenger skips slots recording for non-black promoted objects. The fix is to mark the descriptor array black whenever we change the marked descriptors counter. Bug: v8:8617, v8:8618, v8:8486 Tbr: mlippautz@chromium.org Change-Id: I80f3488061fa648b6c81963ba802ef045d92bcc6 Reviewed-on: https://chromium-review.googlesource.com/c/1387486 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58417}
-
Jakob Kummerow authored
Merging the temporary HeapObjectPtr back into HeapObject. Bug: v8:3770 Change-Id: I5bcd23ca2f5ba862cf5b52955dca143e531c637b Reviewed-on: https://chromium-review.googlesource.com/c/1386492 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58410}
-
- 19 Dec, 2018 2 commits
-
-
Igor Sheludko authored
Bug: v8:8477, v8:8562 Change-Id: Iaa995c8fbb9f309dadac4e308d727f628fdb8b3c Reviewed-on: https://chromium-review.googlesource.com/c/1384314Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58379}
-
Ulan Degenbaev authored
Now a descriptor array tracks the number of descriptors that were already marked. The marking visitor of a map only marks the subset of the descriptors that it needs and that are not already marked. If a descriptor array is shared between M maps and has N descriptos, then the number of marking operations is reduced from O(M*N) to O(N). This patch also adds a marking barrier for descriptors. The marked descriptor counter in a descriptor array is not cleared after mark-compact GC. Instead, it embeds two bits from the global mark-compact epoch counter and is considered 0 if the bits do not match the current value of the global epoch counter. Bug: v8:8486 Change-Id: I2a7822a6833f3143e1d351e5e4819c2ef2c07fb0 Reviewed-on: https://chromium-review.googlesource.com/c/1382746 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@{#58372}
-
- 17 Dec, 2018 1 commit
-
-
Marja Hölttä authored
New API is here: https://github.com/tc39/proposal-weakrefs/issues/55 The WeakCell parts stay in the old API, resulting in temporary code duplication in some parts. Those parts will go away once the WeakCell-related parts are migrated to the new API (but the spec needs some work first). BUG=v8:8179 Change-Id: I81ca824a14d830e3c5fa515d5ad7e5f78c10e19d Reviewed-on: https://chromium-review.googlesource.com/c/1378171 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#58264}
-
- 11 Dec, 2018 1 commit
-
-
Ross McIlroy authored
This change makes the SFI to bytecode link pseudo-weak. The marking visitors check whether the bytecode is old, and if so, don't mark it and instead push the SFI onto a bytecode_flushing_candidates worklist. Once marking is complete, this list is walked, and for any of the candidates who's bytecode has not been marked (i.e., is only referenced by the shared function info), the bytecode is flushed and the SFI has the function data replaced with an UncompiledData (which overwrites the flushed bytecode array). Since we don't track JSFunctions, these can still think the underlying function is compiled, and so calling them will invoke InterpreterEntryTrampoline. As such, logic is added to InterpreterEntryTrampoline to detect flushed functions, and enter CompileLazy instead. BUG=v8:8395 Change-Id: I4afba79f814ca9a92dec45d59485935845a6669d Reviewed-on: https://chromium-review.googlesource.com/c/1348433 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58158}
-
- 10 Dec, 2018 1 commit
-
-
Igor Sheludko authored
because RelocInfo does not need host Code object for updating pointers to heap objects embedded into code. This CL also simplifies typed slot iteration callback signature. Bug: v8:8518, v8:8262 Change-Id: I59fe9e3b4e9b69e3d87b5449c80bed14e311516f Reviewed-on: https://chromium-review.googlesource.com/c/1370037Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58136}
-
- 08 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I1d74ffe9e5478b4b8bc0acbf088d20919d458d50 Reviewed-on: https://chromium-review.googlesource.com/c/1363822 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58112}
-
- 07 Dec, 2018 1 commit
-
-
Igor Sheludko authored
(mostly for roots, handles and stack locations). Thi CL also changes RootVisitor interface to use FullObjectSlots instead of ObjectSlots. Bug: v8:8518 Change-Id: I217c7ae176387a8c64f4754e62339727bdb36018 Reviewed-on: https://chromium-review.googlesource.com/c/1366035Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58091}
-
- 06 Dec, 2018 1 commit
-
-
Ulan Degenbaev authored
The main change is about tracking typed slots locally in each concurrent marking thread. This generalizes the old LiveBytesMap to MemoryChunkData, which now contains the live bytes and the typed slots. With that in place it is straightforward to mark code concurrently. Bug: v8:8459 Change-Id: I103fff0ad39beadea5151a1d8519f5d3c6602e58 Reviewed-on: https://chromium-review.googlesource.com/c/1337747 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58072}
-
- 29 Nov, 2018 3 commits
-
-
Igor Sheludko authored
This CL unifies performance-critical slot processing code that was manually specifaized for ObjectSlot. Now one templated implementation can be used for processing both ObjectSlot and MaybeObjectSlot. Bug: v8:8518 Change-Id: Ia4346a817911f8042459ce579741fe2308ef5e4d Reviewed-on: https://chromium-review.googlesource.com/c/1354459 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57933}
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: If41076a377d12922cc3df859c678e1f20b99b00d Reviewed-on: https://chromium-review.googlesource.com/c/1351242 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57923}
-
Jakob Kummerow authored
TransitionArray, NormalizedMapCache, DependentCode to the new design. Bug: v8:3770 Change-Id: I8bd56f231fb62b146e0fb05989418aedb62a628b Reviewed-on: https://chromium-review.googlesource.com/c/1350287 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#57921}
-
- 26 Nov, 2018 2 commits
-
-
Michael Lippautz authored
Add a path into embedder tracing on allocation. This is safe as as Blink is not allowed to call into V8 during object construction. This is a reland of caed2cc0. Also relands the cleanups of ce02d86b. Bug: chromium:843903 Change-Id: Ic89792fe68337c540a1a93629aee2e92b8774ab2 Reviewed-on: https://chromium-review.googlesource.com/c/1350992Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57847}
-
Ulan Degenbaev authored
This patch gives DescriptorArray its own visitor id and its own layout that is independent from the layout of WeakFixedArray. This allows us to use raw 16-bit integers for keeping track of the number of descriptors (total, non-slack, and marked). As a side-effect, we save one word per descriptor array on 64-bit. v8:8486 Change-Id: If8389dde446319e5b3491abc948b52539dba235c Reviewed-on: https://chromium-review.googlesource.com/c/1349245 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57845}
-
- 25 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Removing the temporarily duplicated classes FixedArrayPtr and FixedArrayBasePtr. Bug: v8:3770 Change-Id: I056ad74ff69593e9f134ef5c976766812c4d9275 Reviewed-on: https://chromium-review.googlesource.com/c/1345913 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57807}
-
- 24 Nov, 2018 2 commits
-
-
Sigurd Schneider authored
This reverts commit 81b5f713. Revert "[heap] Cleanup embedder tracing APIs" This reverts commit ce02d86b. Tbr: mlippautz@chromium.org Change-Id: I5900ac3c070c93b869c9173316a466d39287713a Reviewed-on: https://chromium-review.googlesource.com/c/1350111Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#57806}
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: If5328a4c63d8efe0ce7a0c5a744666c79c02e1ee Reviewed-on: https://chromium-review.googlesource.com/c/1345912 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57804}
-
- 23 Nov, 2018 2 commits
-
-
Michael Lippautz authored
Provide processing scope that makes it impossible to maintain locally cached wrappers that could get invalidated in Blink and yield in crashers. Bug: chromium:843903, v8:8238 Change-Id: I7ba1905f6c77a97bcc61ac42f921dcac4772471f Reviewed-on: https://chromium-review.googlesource.com/c/1349276 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57795}
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I9a3f289ac6236b88476167150565e8183d6f5461 Reviewed-on: https://chromium-review.googlesource.com/c/1345326 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57764}
-
- 22 Nov, 2018 2 commits
-
-
Hannes Payer authored
Bug: chromium:852420 Change-Id: Ice7548bf9993bc5dd57b301c410c019eb956daa5 Reviewed-on: https://chromium-review.googlesource.com/c/1348077Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57755}
-
Hannes Payer authored
Change-Id: Ie2d740b6b584c5104849e46c1286550c80f1f5c9 Reviewed-on: https://chromium-review.googlesource.com/c/1340252Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57713}
-
- 16 Nov, 2018 1 commit
-
-
Ulan Degenbaev authored
This patch allows the deoptimizer to keep embedded pointers intact. Previously, the deoptimizer had to clear embedded pointers because the mark-compactor relied on the Code::marked_for_deoptimization flag to indicate whether the embedder pointers were cleared or not. This patch adds a new flag called Code::embedded_objects_cleared() and thus can correctly clear dead weak objects in deoptimized code. Bug: v8:8459 Change-Id: I6eb6ff3aa2182bc41730e0a249965f8d8c0525ce Reviewed-on: https://chromium-review.googlesource.com/c/1335943Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57584}
-
- 13 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: I52660eeda1bd299953793af9af1395f47e89072e Reviewed-on: https://chromium-review.googlesource.com/c/1331155 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#57454}
-