- 09 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533 Originally landed as r52416 / f9a2e24b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647 Reviewed-on: https://chromium-review.googlesource.com/1000540 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52492}
-
- 06 Apr, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit f9a2e24b. Reason for revert: gc stress failures not all fixed by follow up. Original change's description: > [cleanup] Refactor the Factory > > There is no good reason to have the meat of most objects' initialization > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, > this CL changes the protocol between Heap and Factory to be AllocateRaw, > and all object initialization work after (possibly retried) successful > raw allocation happens in the Factory. > > This saves about 20KB of binary size on x64. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca > Reviewed-on: https://chromium-review.googlesource.com/959533 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52416} TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52420}
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca Reviewed-on: https://chromium-review.googlesource.com/959533 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52416}
-
- 09 Jan, 2018 1 commit
-
-
Hannes Payer authored
Bug: chromium:796896 Change-Id: I7f46f82d079502b8ec04c5e3be5f803ec9e62ffa Reviewed-on: https://chromium-review.googlesource.com/854797 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50424}
-
- 08 Nov, 2017 1 commit
-
-
jgruber authored
There's three common situations in which we need to create JSFunction objects. 1) from the compiler, 2) from tests, and 3) everything else (mostly during bootstrapping). This is an attempt to simplify case 3), which previously relied on several Factory::NewFunction overloads where it was not clear how the semantics of each overload differed. This CL removes all but one overload, and packs arguments into a new NewFunctionArgs helper class. It also removes the hacks around SFI::set_lazy_deserialization_builtin_id by explicitly passing builtin_id into Factory::NewSharedFunctionInfo. Drive-by-fix: Properly set is_constructor hint in SimpleCreateSharedFunctionInfo. Bug: v8:6624 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ica94d95e72e443055db5e7ff9e8cdf4115201ef1 Reviewed-on: https://chromium-review.googlesource.com/757094 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49224}
-
- 16 Oct, 2017 1 commit
-
-
Leszek Swirski authored
Bug: v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3294568a550b829b0ec90147a4cdaefe169bb7cb Reviewed-on: https://chromium-review.googlesource.com/718206Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#48587}
-
- 19 Sep, 2017 1 commit
-
-
Michael Lippautz authored
Removes - SequentialMarkingDeque - The ability to handle marking deque overflow - BlackToGrey transitions We switched to a different marking work list on M61 that fails in OOM upon failing to allocate Segments used in the work list. Bug: chromium:758570 Change-Id: I66e2ab912271bf84b085dccc9b4bdd96076b64fb Reviewed-on: https://chromium-review.googlesource.com/632676 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48078}
-
- 14 Aug, 2017 2 commits
-
-
Mostyn Bramley-Moore authored
* Avoid "using namespace" statements, which trigger clang's -Wheader-hygiene warnings in jumbo builds. * Undefine created macros at the end of source files. BUG=chromium:746958 Change-Id: I5d25432c314437f607b0e1be22765a6764267ba6 Reviewed-on: https://chromium-review.googlesource.com/610962Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#47347}
-
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}
-
- 11 Aug, 2017 2 commits
-
-
Ross McIlroy authored
Deletes the now unused Full-codegen compiler. Also removes some macro assembler instructions which are no longer used. Note: there is still additional cleanup work to do after this lands (e.g., remove support for FCG frames support and FCG debugger support, etc.), but this will be done in followup CLs to keep this patch managable. BUG=v8:6409 Change-Id: I8d828fe7a64d29f2c1252d5fda968a630a2e9ef2 Reviewed-on: https://chromium-review.googlesource.com/584773 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47307}
-
Michael Lippautz authored
- Move into v8::internal::heap namespace - Remove card marking ifdefs Bug: Change-Id: Ifd5e5d96c6ab0fea85a3646e5b307583eb13e2c3 Reviewed-on: https://chromium-review.googlesource.com/612066Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47305}
-
- 10 Aug, 2017 1 commit
-
-
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}
-
- 21 Jun, 2017 1 commit
-
-
Michael Lippautz authored
- Iterator advancing is kept mainly unchanged. - The iterator stores the size of the object which is to be used by the caller in follow ups. This way we might be able to avoid further out of line loads. - The iteartor follows the regular std conventions allowing range based loops. Bug: chromium:651354 Change-Id: I8928224a62d3a48a48145a2d00279a28608bc634 Reviewed-on: https://chromium-review.googlesource.com/543335 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46085}
-
- 02 May, 2017 1 commit
-
-
ulan authored
This patch adds a concurrent marking deque that exposes the same interface for the main thread as the existing marking deque. The matching interface makes the concurrent marking deque a drop-in replacement for the sequential marking deque without any change in mark-compactor and incremental marker. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2810893002 Cr-Commit-Position: refs/heads/master@{#45042}
-
- 27 Apr, 2017 1 commit
-
-
Adam Klein authored
Most callers passed kFinalizeIncrementalMarkingMask, so use that as a default argument (not using default argument syntax to avoid including heap.h in cctest.h). Change-Id: I904f1eb3a0f5fdbe63eab16f6a6f01d04618645d Reviewed-on: https://chromium-review.googlesource.com/488104Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#44950}
-
- 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}
-
- 21 Mar, 2017 1 commit
-
-
Michael Lippautz authored
BUG=chromium:651354 Change-Id: Idcd7780f53ad07b3d782a66455f9c60addc2418d Reviewed-on: https://chromium-review.googlesource.com/457317 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#43971}
-
- 02 Mar, 2017 1 commit
-
-
Michael Lippautz authored
Enbedders should switch to EmbedderHeapTracer API. BUG=v8:5828 Change-Id: I82f2bc583d246617865a17f5904e02cd35f92fec Reviewed-on: https://chromium-review.googlesource.com/448539Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#43551}
-
- 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}
-
- 16 Jan, 2017 1 commit
-
-
hpayer authored
BUG=v8:5829 patch from issue 2634493004 at patchset 20001 (http://crrev.com/2634493004#ps20001) Review-Url: https://codereview.chromium.org/2634033003 Cr-Commit-Position: refs/heads/master@{#42383}
-
- 28 Oct, 2016 1 commit
-
-
ulan authored
Cancelable task already guarantees proper waiting. BUG= Review-Url: https://codereview.chromium.org/2462553002 Cr-Commit-Position: refs/heads/master@{#40647}
-
- 27 Oct, 2016 1 commit
-
-
ulan authored
This reverts commit 35e4a03f. BUG= Review-Url: https://codereview.chromium.org/2454723002 Cr-Commit-Position: refs/heads/master@{#40614}
-
- 26 Oct, 2016 2 commits
-
-
machenbach authored
Revert of [heap] Uncommit marking deque in concurrent task. (patchset #7 id:120001 of https://codereview.chromium.org/2442443003/ ) Reason for revert: Seems to break the world, e.g.: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/14118 Original issue's description: > [heap] Uncommit marking deque in concurrent task. > > BUG= TBR=mlippautz@chromium.org,ulan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2454693002 Cr-Commit-Position: refs/heads/master@{#40588}
-
ulan authored
BUG= Review-Url: https://codereview.chromium.org/2442443003 Cr-Commit-Position: refs/heads/master@{#40585}
-
- 24 Oct, 2016 1 commit
-
-
ulan authored
This patch moves management of marking deque backing store into the MarkingDeque class, which will simplify unmapping of backing store in concurrent task. BUG= Review-Url: https://codereview.chromium.org/2439063002 Cr-Commit-Position: refs/heads/master@{#40523}
-
- 13 Oct, 2016 1 commit
-
-
Miran.Karic authored
When the test is executed in user mode qemu for mips64, it fails because the buffer is too small. Increasing the buffer fixes the problem. BUG= TEST=cctest/test-mark-compact/RegressJoinThreadsOnIsolateDeinit Review-Url: https://codereview.chromium.org/2416573002 Cr-Commit-Position: refs/heads/master@{#40278}
-
- 07 Sep, 2016 3 commits
-
-
ulan authored
Now callers of Heap::CollectGarbage* functions need to specify the reason as an enum value instead of a string. Subsequent CL will add stats counter for GC reason. BUG= Review-Url: https://codereview.chromium.org/2310143002 Cr-Commit-Position: refs/heads/master@{#39239}
-
mlippautz authored
Various test fixes for issues that get flushed out with smaller pages. BUG=chromium:636331 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2313273002 Cr-Commit-Position: refs/heads/master@{#39235}
-
machenbach authored
Revert of [heap] Switch to 500k pages (patchset #5 id:80001 of https://codereview.chromium.org/2314803002/ ) Reason for revert: Breaks arm64 nosnap debug: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/2178 Original issue's description: > [heap] Switch to 500k pages > > BUG=chromium:636331 > R=ulan@chromium.org > > Committed: https://crrev.com/4b618dbf8ec7f0edf377b54b48bf3c852d5e235a > Cr-Commit-Position: refs/heads/master@{#39220} TBR=ulan@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:636331 Review-Url: https://codereview.chromium.org/2312853005 Cr-Commit-Position: refs/heads/master@{#39229}
-
- 06 Sep, 2016 2 commits
-
-
mlippautz authored
BUG=chromium:636331 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2314803002 Cr-Commit-Position: refs/heads/master@{#39220}
-
mlippautz authored
This way we avoid the cyclic dependency between objects.h and heap.h and still have one definition. Add a static assert that this size is indeed smaller than the payload of a page. Follow ups can finally remove the dependency on spaces.h for all heap.h users. R=ulan@chromium.org,bmeurer@chromium.org,vogelheim@chromium.og Review-Url: https://codereview.chromium.org/2311203002 Cr-Commit-Position: refs/heads/master@{#39206}
-
- 20 May, 2016 1 commit
-
-
mlippautz authored
- Move usable functions into proper heap-utils.h/.cc files and remove utils-inl.h file - Fix assumptions accross the board relying on certain behavior that is not invariant This is a requirement for modifying page size. BUG=chromium:581412 LOG=N R=ulan@chromium.org Review-Url: https://codereview.chromium.org/1999753002 Cr-Commit-Position: refs/heads/master@{#36410}
-
- 06 May, 2016 1 commit
-
-
ulan authored
BUG=chromium:609808 LOG=NO Review-Url: https://codereview.chromium.org/1949393006 Cr-Commit-Position: refs/heads/master@{#36074}
-
- 09 Dec, 2015 2 commits
-
-
mlippautz authored
* Move most heap related tests into heap/ subdir * IWYU for heap utility functions R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1512553002 Cr-Commit-Position: refs/heads/master@{#32706}
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-
- 07 Dec, 2015 1 commit
-
-
bmeurer authored
The test expectations should fail consistently in both release and debug builds. DCHECK is only meant for debug-only checks in production code. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1506753002 Cr-Commit-Position: refs/heads/master@{#32639}
-
- 16 Nov, 2015 1 commit
-
-
jochen authored
BUG=4134 R=epertoso@chromium.org LOG=n Review URL: https://codereview.chromium.org/1451733002 Cr-Commit-Position: refs/heads/master@{#32011}
-
- 02 Nov, 2015 1 commit
-
-
yangguo authored
R=jkummerow@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1406113007 Cr-Commit-Position: refs/heads/master@{#31714}
-
- 21 Aug, 2015 1 commit
-
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1293283003 Cr-Commit-Position: refs/heads/master@{#30301}
-
- 17 Aug, 2015 1 commit
-
-
mstarzinger authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1294093003 Cr-Commit-Position: refs/heads/master@{#30202}
-