- 17 Oct, 2017 1 commit
-
-
Michael Lippautz authored
Mechanical move simplifying a follow up that removes the recursive locking strategy by properly partitioning pages. Bug: v8:6923 Change-Id: I688e61131731e2b9dc9c311b0b43f0902c149359 Reviewed-on: https://chromium-review.googlesource.com/723020Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48640}
-
- 22 Sep, 2017 1 commit
-
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: I0b5dea276363aa5bf51eea0b7fde1f4f265a6360 Reviewed-on: https://chromium-review.googlesource.com/678354Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48120}
-
- 30 Aug, 2017 1 commit
-
-
Michael Lippautz authored
Bug: chromium:738865, chromium:750084 Change-Id: Ife30da4be118cd6f3212e84752978ebb39500f15 Reviewed-on: https://chromium-review.googlesource.com/641414 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47710}
-
- 14 Aug, 2017 1 commit
-
-
Ulan Degenbaev authored
This follows up 4af9cfcc by separating incremental marking state from the full MC marking state. Runtime and tests now use only the incremental marking state. The full MC marking state used by MC during atomic pause. This separation decouples atomicity of markbit accesses during incremental marking and during full MC. Bug: chromium:694255 TBR: mlippautz@chromium.org Change-Id: Ia409ab06515cd0d1403a272a016633295c0d6692 Reviewed-on: https://chromium-review.googlesource.com/612350 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47336}
-
- 10 Aug, 2017 2 commits
-
-
Ulan Degenbaev authored
Bug: chromium:694255 TBR: mlippautz@chromium.org No-Tree-Checks: true No-Try: true Change-Id: I720dcc79c4cb8c1cbd7dd6e6de4c6113c363b2f0 Reviewed-on: https://chromium-review.googlesource.com/610561 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47295}
-
Ulan Degenbaev authored
This patch merges ObjectMarking and MarkingState. The new marking state encapsulates object marking, live byte tracking, and access atomicity. The old ObjectMarking calls are now replaced with calls to marking state. For example: ObjectMarking::WhiteToGrey<kAtomicity>(obj, marking_state(obj) becomes marking_state()->WhiteToGrey(obj) This simplifies custom handling of live bytes and allows to chose atomicity of markbit accesses depending on collector's state. This also decouples marking bitmap from the marking code, which will allows in future to use different data-structure for mark-bits. Bug: chromium:694255 Change-Id: Ifb4bc0144187bac1c08f6bc74a9d5c618fe77740 Reviewed-on: https://chromium-review.googlesource.com/602132 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47288}
-
- 27 Jul, 2017 1 commit
-
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: I02cb7ea48a1dfaec25bf702b09242d537fe612f4 Reviewed-on: https://chromium-review.googlesource.com/589271Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46939}
-
- 24 Jul, 2017 1 commit
-
-
Michael Starzinger authored
This switches the "code entry" field on JSFunction to no longer be an inner pointer into a Code object (i.e. to the start of the instruction stream), but a properly tagged pointer instead. Motivation behind this is the ability to treat this field regularly as part of escape analysis in the optimizing compiler. Also simplifies the object visitation for JSFunction objects. R=bmeurer@chromium.org Change-Id: Ib53a3fc5f3d783a6fed06dbcab319f5568632acc Reviewed-on: https://chromium-review.googlesource.com/577890 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46844}
-
- 20 Jul, 2017 1 commit
-
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: Ie18574bb067438816238e2cf930e6d2a7bc5ecef Reviewed-on: https://chromium-review.googlesource.com/570579 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46798}
-
- 17 Jul, 2017 2 commits
-
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: Ic30a3e1012771d2e37b0e10aa59ab348a40bac10 Reviewed-on: https://chromium-review.googlesource.com/574714Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46717}
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: Icc3e292ded7f4097ef266d8db80f273a412a8b92 Reviewed-on: https://chromium-review.googlesource.com/565718 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46708}
-
- 12 Jul, 2017 2 commits
-
-
Michael Lippautz authored
Various Scavenger fixes for smaller issues that accumulated over the last years. Bug: chromium:738865 Change-Id: I7573e438eba030944b99c65807944c662526a171 Reviewed-on: https://chromium-review.googlesource.com/567190 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46578}
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: I53f82a459a82057486dcba26696fadebf7befcf7 Reviewed-on: https://chromium-review.googlesource.com/567156Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46576}
-
- 10 Jul, 2017 2 commits
-
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: Icb92b649ecd3d4ab4c60f35ffe0649a35fe8b3f6 Reviewed-on: https://chromium-review.googlesource.com/565285Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46530}
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: I93721f535ecf8518bf0355e62d5848147460abc8 Reviewed-on: https://chromium-review.googlesource.com/565198Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46519}
-
- 03 Jul, 2017 1 commit
-
-
Michael Lippautz authored
- Avoid static methods. - Instantiate the actual visitor on the stack. - Get rid of unnecessary abstractions. Bug: chromium:738865 Change-Id: I4115d7b88f17a7118aa9ee129eb39a28ec413696 Reviewed-on: https://chromium-review.googlesource.com/558878 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46384}
-
- 30 Jun, 2017 1 commit
-
-
Michael Lippautz authored
Replace the second level visitation with a much simpler logic that just separately dispatches the special cases. All other cases can use a dispatch that just evacuates an object based on size. This is similar to the logic used in the mark-compact collector. The goal is to align behaviors as much as possible, highlighting and fixing performance issues in the different behaviors. This CL is mechanical as possible. A followup will clean up the naming scheme and dispatching. Bug: chromium:738368 Change-Id: Ia5a426c5ebb25230000b127580c300c97cff8b1b Reviewed-on: https://chromium-review.googlesource.com/558060 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46364}
-
- 26 Jun, 2017 1 commit
-
-
hans authored
This is towards closing the perf gap between the MSVC build (which uses link- time optimization) and Clang (where LTO isn't ready on Windows yet). We did a study (see bug) to see which non-inlined functions are hit a lot during render start-up, and which would be inlined during LTO. This should benefit performance in all builds which currently don't use LTO (Android, Linux, Mac) as well as the Win/Clang build. The binary size of chrome_child.dll increases by 2KB with this. BUG=chromium:728324 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng Review-Url: https://codereview.chromium.org/2950993002 Cr-Commit-Position: refs/heads/master@{#46229}
-
- 25 Jun, 2017 1 commit
-
-
machenbach authored
Revert of Make some functions that are hit during renderer startup available for inlining (patchset #3 id:40001 of https://codereview.chromium.org/2950993002/ ) Reason for revert: Blocks roll: https://codereview.chromium.org/2954833002/ E.g.: https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/449680 https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_ng/builds/324953 Please include those chromium trybots on reland. Maybe missing symbol export? Original issue's description: > Make some functions that are hit during renderer startup available for inlining > > This is towards closing the perf gap between the MSVC build (which uses link- > time optimization) and Clang (where LTO isn't ready on Windows yet). We did > a study (see bug) to see which non-inlined functions are hit a lot during render > start-up, and which would be inlined during LTO. This should benefit performance > in all builds which currently don't use LTO (Android, Linux, Mac) as well as > the Win/Clang build. > > The binary size of chrome_child.dll increases by 2KB with this. > > BUG=chromium:728324 > > Review-Url: https://codereview.chromium.org/2950993002 > Cr-Commit-Position: refs/heads/master@{#46191} > Committed: https://chromium.googlesource.com/v8/v8/+/d00d52be1fce9c1bf5558c8b26bf984efd09e65b TBR=jochen@chromium.org,mstarzinger@chromium.org,rmcilroy@chromium.org,vogelheim@chromium.org,marja@chromium.org,mlippautz@chromium.org,thakis@chromium.org,hans@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:728324 NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2955793002 Cr-Commit-Position: refs/heads/master@{#46195}
-
- 23 Jun, 2017 1 commit
-
-
hans authored
This is towards closing the perf gap between the MSVC build (which uses link- time optimization) and Clang (where LTO isn't ready on Windows yet). We did a study (see bug) to see which non-inlined functions are hit a lot during render start-up, and which would be inlined during LTO. This should benefit performance in all builds which currently don't use LTO (Android, Linux, Mac) as well as the Win/Clang build. The binary size of chrome_child.dll increases by 2KB with this. BUG=chromium:728324 Review-Url: https://codereview.chromium.org/2950993002 Cr-Commit-Position: refs/heads/master@{#46191}
-
- 21 Jun, 2017 1 commit
-
-
Michael Lippautz authored
The iterator already provides the size. Bug: chromium:651354 Change-Id: I683bfe5c82441bf39c21b18daa58eba91b798c64 Reviewed-on: https://chromium-review.googlesource.com/543495 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46092}
-
- 14 Jun, 2017 1 commit
-
-
Caitlin Potter authored
Simplifies the implementation of IteratorClose in IteratorBuiltinsAssembler, and makes clear that it is only invoked when an exception occurs. Adds exception handling support to GetIterator, IteratorStep, and IteratorCloseOnException. Moves the Promise.all resolveElement closure and it's caller to builtins-promise-gen.cc. Instead of creating an internal array (and copying its elements into a result array), a single JSArray is allocated, and appended with BuildAppendJSArray(), falling back to %CreateDataProperty(), and elements are updated in the resolve closure the same way. This should always be unobservable. This CL increases the size of snapshot_blob.bin on an x64.release build by 8.51kb BUG=v8:5343 R=cbruni@chromium.org, gsathysa@chromium.org, jgruber@chromium.org, hpayer@chromium.org, tebbi@chromium.org Change-Id: I29c4a529154ef49ad65555ce6ddc2c5b7c9de6b3 Reviewed-on: https://chromium-review.googlesource.com/508473 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45946}
-
- 03 May, 2017 1 commit
-
-
mlippautz authored
There is no point in doing black allocation here as we then have to iterate the objects for various reasons. The marker does the same work but can be moved outside of the atomic pause. BUG=chromium:581412 Review-Url: https://codereview.chromium.org/2862563002 Cr-Commit-Position: refs/heads/master@{#45063}
-
- 28 Apr, 2017 1 commit
-
-
mlippautz authored
BUG=v8:6325, v8:6330 Review-Url: https://codereview.chromium.org/2847953002 Cr-Commit-Position: refs/heads/master@{#44983}
-
- 27 Apr, 2017 1 commit
-
-
ulan authored
HeapVisitor is similar to StaticVisitor but uses virtual dispatch instead of static function table. It is intended as replacement of StaticVisitor using the CRTP. This CL also changes the concurrent marker to use the HeapVisitor. BUG=chromium:709075 Review-Url: https://codereview.chromium.org/2808093003 Cr-Commit-Position: refs/heads/master@{#44948}
-
- 25 Apr, 2017 2 commits
-
-
ulan authored
This makes an ObjectVisitor as powerful as a StaticVisitor and allows slots recording in ObjectVisitor. This patch also renames VisitCell method of ObjectVisitor to VisitCellPointer, so that VisitCell is free to be used for actually visiting a cell. BUG=chromium:709075 Review-Url: https://codereview.chromium.org/2810653002 Cr-Commit-Position: refs/heads/master@{#44860}
-
ulan authored
This patch adds a new interface called RootVisitor and changes the root iteration functions to accept a RootVisitor instead of an ObjectVisitor. Future CLs will change ObjectVisitor to provide the host object to all visiting functions, which will bring it in sync with static visitors. Having separate visitors for roots and objects removes ambiguity in VisitPointers and reduces chances of forgetting to record slots. This is intended as pure refactoring. All places that require behavior change are marked with TODO and will addressed in future CLs. BUG=chromium:709075 Review-Url: https://codereview.chromium.org/2801073006 Cr-Commit-Position: refs/heads/master@{#44852}
-
- 07 Apr, 2017 1 commit
-
-
ulan authored
[heap] Reland "Remove size specializations in static object visitors. (patchset #4 id:60001 of https://codereview.chromium.org/2763413007/ )" This reverts commit 61df2d90. The CL was speculatively reverted due to canary crashes, which turned out to be caused by another CL. Original issue's description: > [heap] Remove size specializations in static object visitors. > > Apart from that this patch adds kVisitJSObjectFast for JSObjects that > do not have any unboxed double fields and can be visited without > run-time layout check. > > BUG=chromium:694255 > > Review-Url: https://codereview.chromium.org/2763413007 > Cr-Commit-Position: refs/heads/master@{#44237} > Committed: https://chromium.googlesource.com/v8/v8/+/dbb1cbe3a85d5c5528ce876d905e78d2ab35f00b Review-Url: https://codereview.chromium.org/2808533002 Cr-Commit-Position: refs/heads/master@{#44494}
-
- 06 Apr, 2017 1 commit
-
-
ulan authored
Revert of [heap] Remove size specializations in static object visitors. (patchset #4 id:60001 of https://codereview.chromium.org/2763413007/ ) Reason for revert: Speculative revert due to canary crashes. BUG=chromium:708339,chromium:707790 Original issue's description: > [heap] Remove size specializations in static object visitors. > > Apart from that this patch adds kVisitJSObjectFast for JSObjects that > do not have any unboxed double fields and can be visited without > run-time layout check. > > BUG=chromium:694255 > > Review-Url: https://codereview.chromium.org/2763413007 > Cr-Commit-Position: refs/heads/master@{#44237} > Committed: https://chromium.googlesource.com/v8/v8/+/dbb1cbe3a85d5c5528ce876d905e78d2ab35f00b TBR=mlippautz@chromium.org,hpayer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2800923004 Cr-Commit-Position: refs/heads/master@{#44459}
-
- 29 Mar, 2017 1 commit
-
-
ulan authored
Apart from that this patch adds kVisitJSObjectFast for JSObjects that do not have any unboxed double fields and can be visited without run-time layout check. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2763413007 Cr-Commit-Position: refs/heads/master@{#44237}
-
- 24 Mar, 2017 1 commit
-
-
mlippautz authored
Require the use of MarkingState when going through ObjectMarking and friends. BUG=chromium:651354 Review-Url: https://codereview.chromium.org/2770253002 Cr-Commit-Position: refs/heads/master@{#44123}
-
- 10 Mar, 2017 1 commit
-
-
Michael Lippautz authored
BUG= Change-Id: Icfc5412316279bed6cc95107303fbee6be66ebb4 Reviewed-on: https://chromium-review.googlesource.com/452618Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#43715}
-
- 02 Mar, 2017 1 commit
-
-
hpayer authored
BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2723853006 Cr-Commit-Position: refs/heads/master@{#43553}
-
- 23 Feb, 2017 1 commit
-
-
Marja Hölttä authored
BUG=v8:5294 Change-Id: If45f25aae8de526027b7851cb4efe0ccf4a7c4b1 Reviewed-on: https://chromium-review.googlesource.com/444226 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#43388}
-
- 20 Jan, 2017 3 commits
-
-
mlippautz authored
BUG=chromium:651354 Review-Url: https://codereview.chromium.org/2637403011 Cr-Commit-Position: refs/heads/master@{#42555}
-
bmeurer authored
Revert of [heap] Provide ObjectMarking with marking transitions (patchset #5 id:80001 of https://codereview.chromium.org/2644523002/ ) Reason for revert: Breaks the tree: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/8349/steps/Mjsunit/logs/compiled-module-seria.. Original issue's description: > [heap] Provide ObjectMarking with marking transitions > > BUG=chromium:651354 > > Review-Url: https://codereview.chromium.org/2644523002 > Cr-Commit-Position: refs/heads/master@{#42531} > Committed: https://chromium.googlesource.com/v8/v8/+/cbb8929e97ee475dab4f704a71637e76342e903a TBR=hpayer@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:651354 Review-Url: https://codereview.chromium.org/2647873002 Cr-Commit-Position: refs/heads/master@{#42533}
-
mlippautz authored
BUG=chromium:651354 Review-Url: https://codereview.chromium.org/2644523002 Cr-Commit-Position: refs/heads/master@{#42531}
-
- 19 Jan, 2017 1 commit
-
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe) (Previously landed as #42193 / 4c699e34) (Previously landed as #42235 / ec45e6ed) Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42503}
-
- 12 Jan, 2017 1 commit
-
-
jkummerow authored
Revert of Internalize strings in-place (patchset #20 id:380001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: Blocks roll, ASan detects leaking ExternalStrings. Original issue's description: > Internalize strings in-place (reland^2) > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > (Previously landed as #42168 / af51befe) > (Previously landed as #42193 / 4c699e34) > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42235} > Committed: https://chromium.googlesource.com/v8/v8/+/ec45e6ed2e11698c713e664b1510bc31bcdbbdba TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2626893005 Cr-Commit-Position: refs/heads/master@{#42271}
-
- 11 Jan, 2017 1 commit
-
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe) (Previously landed as #42193 / 4c699e34) Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42235}
-