- 04 Mar, 2019 1 commit
-
-
Igor Sheludko authored
This CL also gives up trying to maintain double and system word fields at aligned addresses because currently it's not always maintained (v8:8875) and Torque object definitions do not support padding fields (v8:8863). Given that both platforms where pointer compression is going to be enabled (x64 and arm64) support loading of doubles and full words from 4-byte aligned addresses we are fine. Bug: v8:7703 Change-Id: I99fc6da5a0927f4db9b8fb24c7cc0bfc416523bc Reviewed-on: https://chromium-review.googlesource.com/c/1496974 Auto-Submit: Igor Sheludko <ishell@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60013}
-
- 15 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 14 Feb, 2019 1 commit
-
-
Alexander Timokhin authored
HeapNumbers and MutableHeapNumber requires alignment for their double value field but for now this field can be misaligned on 32-bit platforms. According to code in Heap::GetFillToAlign() function, kDoubleUnaligned doesn't actually mean "unaligned" but "aligned to half of double". This CL fixes this misalignment. Change-Id: I9b9c58d580bb287e7dad44bc96cd6b4593707b5e Reviewed-on: https://chromium-review.googlesource.com/c/1470113 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59599}
-
- 29 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
This replaces InNewSpace with InYoungGeneration, which is a prerequisite for young large objects. Additional changes: - FROM_SPACE, TO_SPACE flags are renamed to FROM_PAGE, TO_PAGE. - A new LARGE_PAGE flag is added. - The external string table is refactored to track young string instead of new space strings. Bug: chromium:924547 Change-Id: Ia4e3ba1b72995c3400257a1f98559f091533e811 Reviewed-on: https://chromium-review.googlesource.com/c/1437274Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59156}
-
- 22 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
The main fix is to ensure that the recently allocated object is marked black in StressMarkingObserver::Step. Otherwise, the concurrent marker can observe an uninitialized white object in the old generation. This patch also removes the --black-allocation flag. Bug: v8:8676 Change-Id: Iba8f00330eabc4847eaef2cd3dfb2884d62a48b4 Reviewed-on: https://chromium-review.googlesource.com/c/1425915 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59002}
-
- 17 Jan, 2019 1 commit
-
-
Ulan Degenbaev authored
This is a reland of fd49c8bb Original change's description: > [heap] Optimize MemoryChunk::FromAnyPointerAddress > > Currently this function requires the caller to hold a mutex for the > large page chunk hashtable and performs a hashtable lookup. > > This patch adds a header sentinel field in each MemoryChunk. The field > is then used to distinguish large object slots from ordinary slots. > > Bug: chromium:915233 > Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68 > Reviewed-on: https://chromium-review.googlesource.com/c/1391752 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58732} Bug: chromium:915233 Change-Id: I10d23a928328169a2dc6bab78d2b7d2c5d00ebb6 Reviewed-on: https://chromium-review.googlesource.com/c/1406672 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58876}
-
- 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}
-
- 11 Jan, 2019 2 commits
-
-
Michael Achenbach authored
This reverts commit fd49c8bb. Reason for revert: Speculative revert for: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/24672 Original change's description: > [heap] Optimize MemoryChunk::FromAnyPointerAddress > > Currently this function requires the caller to hold a mutex for the > large page chunk hashtable and performs a hashtable lookup. > > This patch adds a header sentinel field in each MemoryChunk. The field > is then used to distinguish large object slots from ordinary slots. > > Bug: chromium:915233 > Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68 > Reviewed-on: https://chromium-review.googlesource.com/c/1391752 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58732} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I232729fdfd55baef7de99ea2fd14fbc0a2f71d27 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:915233 Reviewed-on: https://chromium-review.googlesource.com/c/1406671Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58738}
-
Ulan Degenbaev authored
Currently this function requires the caller to hold a mutex for the large page chunk hashtable and performs a hashtable lookup. This patch adds a header sentinel field in each MemoryChunk. The field is then used to distinguish large object slots from ordinary slots. Bug: chromium:915233 Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68 Reviewed-on: https://chromium-review.googlesource.com/c/1391752 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58732}
-
- 08 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
The two names refer to the same thing by now, so this patch is entirely mechanical. Bug: v8:3770 Change-Id: Ia360c06c89af6b3da27fd21bbcaeb2bdaa28ce22 Reviewed-on: https://chromium-review.googlesource.com/c/1397705Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58615}
-
- 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}
-
- 20 Dec, 2018 1 commit
-
-
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}
-
- 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}
-
- 29 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Explicitly disallow implicit casting of ObjectPtr to bool to match clang's and MSVC's behavior. Introduce a few function overloads using ObjectPtr instead of Object*. Fix printing of ObjectPtr for objects-printer.cc and GTest. Bug: v8:3770 Change-Id: I3c3580d363ae6d9fe8f743c6151abc11a915f05c Reviewed-on: https://chromium-review.googlesource.com/c/1351245 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57928}
-
- 27 Nov, 2018 1 commit
-
-
Hannes Payer authored
Bug: chromium:852420 Change-Id: Ie3c2bb4d1d329e84e2cb9431cca129bdd7d09271 Reviewed-on: https://chromium-review.googlesource.com/c/1352291 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57880}
-
- 22 Nov, 2018 1 commit
-
-
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}
-
- 15 Nov, 2018 1 commit
-
-
Hannes Payer authored
Change-Id: Ic9be35646beb47d0074154aa2e38dc9527911b01 Reviewed-on: https://chromium-review.googlesource.com/c/1327046 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57551}
-
- 12 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
LockGuard is mostly used with Mutex. Since both are defined outside the internal namespace, we often have to write {base::LockGuard<base::Mutex>}. This CL shortens this to {base::MutexGuard} across the code base R=mlippautz@chromium.org Bug: v8:8238 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I020d5933b73aafb98c4b72e3bb2dfd07c979ba73 Reviewed-on: https://chromium-review.googlesource.com/c/1278796Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56612}
-
- 17 Sep, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:8015 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2ce078b662e3dd93e0fac310b0d73c4cadbaccb3 Reviewed-on: https://chromium-review.googlesource.com/1226640 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#55957}
-
- 15 Sep, 2018 1 commit
-
-
Igor Sheludko authored
This is a reland of 16816e53 Bug: v8:8096 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I257fc391931a0a4bf01f2e8136183aaed044231c Reviewed-on: https://chromium-review.googlesource.com/1226915 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#55928}
-
- 12 Sep, 2018 4 commits
-
-
Michael Lippautz authored
- Update those counters from space - Add fast path for move memory Fix: - Introduce proper variants for checked arithmetic on atomics. Previous revert was needed to unblock other reverts. This reverts commit 651bd0de. Bug: chromium:845409 Change-Id: I906ef6c60a589a30a0a632eadb8642735deaf0e4 Tbr: ulan@chromium.org Reviewed-on: https://chromium-review.googlesource.com/1221213Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#55828}
-
Michael Achenbach authored
Revert "[ptr-compr] Introduce BoundedPageAllocator and use it instead of CodeRange." This reverts commit 16816e53. Revert "[cleanup] Introduce LsanPageAllocator decorator" This reverts commit 0606bf91. Revert "[ptr-compr][heap] Fix TODOs about always using proper page allocator" This reverts commit b0edf8e6. The fist CL in the list is suspected to block the roll: https://chromium-review.googlesource.com/c/chromium/src/+/1216022 Pseudo bisect points to that CL: https://chromium-review.googlesource.com/c/chromium/src/+/1219612 TBR=ishell@chromium.org Bug: v8:8096 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I9fafedd3810e14cdfc2068df7727cf90fc0cc85a Reviewed-on: https://chromium-review.googlesource.com/1219695 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#55818}
-
Michael Achenbach authored
This reverts commit 9d5ab51f. Reason for revert: Blocks important revert. Also rolling is down since 2 days... so please wait with relanding until rolling is confirmed to be up again. https://chromium-review.googlesource.com/c/v8/v8/+/1219695 Original change's description: > Reland "[heap] Introduce backing store counters on Heap" > > - Update those counters from space > - Add fast path for move memory > > Fix: > - Introduce proper variants for checked arithmetic on atomics. > > This reverts commit 0c62f5b3. > > Bug: chromium:845409 > Change-Id: I98ad1a7c470c7e7b805e087b4ec74e3451344712 > Reviewed-on: https://chromium-review.googlesource.com/1219647 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55815} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Ifb7c6e31f7f105bd11d1497a1061f73d42c05c31 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1221186Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#55816}
-
Michael Lippautz authored
- Update those counters from space - Add fast path for move memory Fix: - Introduce proper variants for checked arithmetic on atomics. This reverts commit 0c62f5b3. Bug: chromium:845409 Change-Id: I98ad1a7c470c7e7b805e087b4ec74e3451344712 Reviewed-on: https://chromium-review.googlesource.com/1219647Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#55815}
-
- 11 Sep, 2018 2 commits
-
-
Deepti Gandluri authored
This reverts commit 9c67143f. Reason for revert: Potential cause of mac gpu failures for the auto roller - https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_optional_gpu_tests_rel/9158 Original change's description: > [heap] Introduce backing store counters on Heap > > - Update those counters from space > - Add fast path for move memory > > Bug: chromium:845409 > Change-Id: Icd72e551df2422a635801fb4e31588073f81544e > Reviewed-on: https://chromium-review.googlesource.com/1219707 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55798} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Iaa0d375d84f1c559a13dea9b9f1b7f6907cbd768 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1220293Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#55807}
-
Michael Lippautz authored
- Update those counters from space - Add fast path for move memory Bug: chromium:845409 Change-Id: Icd72e551df2422a635801fb4e31588073f81544e Reviewed-on: https://chromium-review.googlesource.com/1219707Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#55798}
-
- 10 Sep, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:8096 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: If44c1a9a76c517fe329485d385f445b2be9f5ec2 Reviewed-on: https://chromium-review.googlesource.com/1213186Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#55744}
-
- 27 Jul, 2018 1 commit
-
-
Michael Lippautz authored
Bug: v8:7490 Change-Id: I72444df6f75bc61c467c2df51f87581ef44fe09e Reviewed-on: https://chromium-review.googlesource.com/1151632 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54751}
-
- 07 Jun, 2018 1 commit
-
-
Hannes Payer authored
Change-Id: Ieec4dccdf8a5241f439bde9fffc75f4f300930e1 Reviewed-on: https://chromium-review.googlesource.com/1089333Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53567}
-
- 22 May, 2018 1 commit
-
-
Hannes Payer authored
Replaces the anchor page circular doubly linked list with a doubly linked list pointing to nullptr on its ends. Fixes a memory leak when rewinding pages. The large pages list will move to the new list implementation in a follow-up CL. Change-Id: I2933a5e222d4ca768f4b555c47ed0d7a7027aa73 Reviewed-on: https://chromium-review.googlesource.com/1060973 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53288}
-
- 14 May, 2018 1 commit
-
-
Dan Elphick authored
Makes all but one data member private instead of protected and replaces all Space::heap_ accesses with Space::heap(). Also moves Executability down from Space into PagedSpace and remove all references in SemiSpace since it's always initialized with NOT_EXECUTABLE. Bug: v8:7754 Change-Id: Ic03ce35a5f970b3c1e25b32da53e4c9717b2ee1e Reviewed-on: https://chromium-review.googlesource.com/1055510Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53146}
-
- 19 Apr, 2018 1 commit
-
-
Dan Elphick authored
This is a reland of 6c68efac Updated Heap::CommittedMemory and related functions to iterate over all spaces rather than including them manually which can lead to a space being overlooked. Also adds a test to ensure this the case. Original change's description: > Revert "Reland "[heap] Move initial objects into RO_SPACE"" > > This reverts commit 6c68efac. > > Reason for revert: https://bugs.chromium.org/p/v8/issues/detail?id=7668 > > Original change's description: > > Reland "[heap] Move initial objects into RO_SPACE" > > > > This is a reland of f8ae62fe > > > > Original change's description: > > > [heap] Move initial objects into RO_SPACE > > > > > > This moves: > > > * the main oddballs (null, undefined, hole, true, false) as well as > > > their supporting maps (also adds hole as an internalized string to make > > > this work). > > > * most of the internalized strings > > > * the struct maps > > > * empty array > > > * empty enum cache > > > * the contents of the initial string table > > > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > > > value avoid writing to it during run-time) > > > > > > The StartupSerializer stats change as follows: > > > > > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > > > old 0 0 270264 32608 12144 0 > > > new 21776 0 253168 32608 8184 0 > > > Overall memory usage has increased by 720 bytes due to the eager > > > initialization of the Map weak cell caches. > > > > > > Also extends --serialization-statistics to print out separate instance > > > type stats for objects in RO_SPACE as shown here: > > > > > > Read Only Instance types (count and bytes): > > > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > > > 2 32 HEAP_NUMBER_TYPE > > > 5 240 ODDBALL_TYPE > > > 45 3960 MAP_TYPE > > > 1 16 BYTE_ARRAY_TYPE > > > 1 24 TUPLE2_TYPE > > > 1 16 FIXED_ARRAY_TYPE > > > 1 32 DESCRIPTOR_ARRAY_TYPE > > > 45 720 WEAK_CELL_TYPE > > > > > > Bug: v8:7464 > > > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > > > Reviewed-on: https://chromium-review.googlesource.com/973722 > > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#52435} > > > > Bug: v8:7464 > > Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b > > Reviewed-on: https://chromium-review.googlesource.com/999654 > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#52638} > > TBR=rmcilroy@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: v8:7464,v8:7668 > Change-Id: I10aa03623b51e997f95a3715ea9f0bf5d29d2cdb > Reviewed-on: https://chromium-review.googlesource.com/1016600 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52667} Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: If4b7490c8c4d31612de8ec132de334955a319b11 Bug: v8:7464, v8:7668 Reviewed-on: https://chromium-review.googlesource.com/1019020Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52689}
-
- 18 Apr, 2018 1 commit
-
-
Peter Marshall authored
This reverts commit 6c68efac. Reason for revert: https://bugs.chromium.org/p/v8/issues/detail?id=7668 Original change's description: > Reland "[heap] Move initial objects into RO_SPACE" > > This is a reland of f8ae62fe > > Original change's description: > > [heap] Move initial objects into RO_SPACE > > > > This moves: > > * the main oddballs (null, undefined, hole, true, false) as well as > > their supporting maps (also adds hole as an internalized string to make > > this work). > > * most of the internalized strings > > * the struct maps > > * empty array > > * empty enum cache > > * the contents of the initial string table > > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > > value avoid writing to it during run-time) > > > > The StartupSerializer stats change as follows: > > > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > > old 0 0 270264 32608 12144 0 > > new 21776 0 253168 32608 8184 0 > > Overall memory usage has increased by 720 bytes due to the eager > > initialization of the Map weak cell caches. > > > > Also extends --serialization-statistics to print out separate instance > > type stats for objects in RO_SPACE as shown here: > > > > Read Only Instance types (count and bytes): > > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > > 2 32 HEAP_NUMBER_TYPE > > 5 240 ODDBALL_TYPE > > 45 3960 MAP_TYPE > > 1 16 BYTE_ARRAY_TYPE > > 1 24 TUPLE2_TYPE > > 1 16 FIXED_ARRAY_TYPE > > 1 32 DESCRIPTOR_ARRAY_TYPE > > 45 720 WEAK_CELL_TYPE > > > > Bug: v8:7464 > > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > > Reviewed-on: https://chromium-review.googlesource.com/973722 > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#52435} > > Bug: v8:7464 > Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b > Reviewed-on: https://chromium-review.googlesource.com/999654 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52638} TBR=rmcilroy@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7464,v8:7668 Change-Id: I10aa03623b51e997f95a3715ea9f0bf5d29d2cdb Reviewed-on: https://chromium-review.googlesource.com/1016600 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52667}
-
- 17 Apr, 2018 1 commit
-
-
Dan Elphick authored
This is a reland of f8ae62fe Original change's description: > [heap] Move initial objects into RO_SPACE > > This moves: > * the main oddballs (null, undefined, hole, true, false) as well as > their supporting maps (also adds hole as an internalized string to make > this work). > * most of the internalized strings > * the struct maps > * empty array > * empty enum cache > * the contents of the initial string table > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > value avoid writing to it during run-time) > > The StartupSerializer stats change as follows: > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > old 0 0 270264 32608 12144 0 > new 21776 0 253168 32608 8184 0 > Overall memory usage has increased by 720 bytes due to the eager > initialization of the Map weak cell caches. > > Also extends --serialization-statistics to print out separate instance > type stats for objects in RO_SPACE as shown here: > > Read Only Instance types (count and bytes): > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > 2 32 HEAP_NUMBER_TYPE > 5 240 ODDBALL_TYPE > 45 3960 MAP_TYPE > 1 16 BYTE_ARRAY_TYPE > 1 24 TUPLE2_TYPE > 1 16 FIXED_ARRAY_TYPE > 1 32 DESCRIPTOR_ARRAY_TYPE > 45 720 WEAK_CELL_TYPE > > Bug: v8:7464 > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > Reviewed-on: https://chromium-review.googlesource.com/973722 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52435} Bug: v8:7464 Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b Reviewed-on: https://chromium-review.googlesource.com/999654 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52638}
-
- 14 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
The "Address" type is V8's general-purpose type for manipulating memory addresses. Per the C++ spec, pointer arithmetic and pointer comparisons are undefined behavior except within the same array; since we generally don't operate within a C++ array, our general-purpose type shouldn't be a pointer type. Bug: v8:3770 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ib96016c24a0f18bcdba916dabd83e3f24a1b5779 Reviewed-on: https://chromium-review.googlesource.com/988657 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52601}
-
- 09 Apr, 2018 2 commits
-
-
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}
-
Clemens Hammacher authored
MUST_USE_RESULT was deprecated for some time. This removes it and replaces all uses by the equivalent V8_WARN_UNUSED_RESULT. R=mstarzinger@chromium.org Bug: v8:7570 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I86883218638e64eeeb7a5891904319ed0844a004 Reviewed-on: https://chromium-review.googlesource.com/999533 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52486}
-
- 06 Apr, 2018 3 commits
-
-
Michael Achenbach authored
This reverts commit f8ae62fe. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20internal%20snapshot/builds/14825 Original change's description: > [heap] Move initial objects into RO_SPACE > > This moves: > * the main oddballs (null, undefined, hole, true, false) as well as > their supporting maps (also adds hole as an internalized string to make > this work). > * most of the internalized strings > * the struct maps > * empty array > * empty enum cache > * the contents of the initial string table > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > value avoid writing to it during run-time) > > The StartupSerializer stats change as follows: > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > old 0 0 270264 32608 12144 0 > new 21776 0 253168 32608 8184 0 > Overall memory usage has increased by 720 bytes due to the eager > initialization of the Map weak cell caches. > > Also extends --serialization-statistics to print out separate instance > type stats for objects in RO_SPACE as shown here: > > Read Only Instance types (count and bytes): > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > 2 32 HEAP_NUMBER_TYPE > 5 240 ODDBALL_TYPE > 45 3960 MAP_TYPE > 1 16 BYTE_ARRAY_TYPE > 1 24 TUPLE2_TYPE > 1 16 FIXED_ARRAY_TYPE > 1 32 DESCRIPTOR_ARRAY_TYPE > 45 720 WEAK_CELL_TYPE > > Bug: v8:7464 > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > Reviewed-on: https://chromium-review.googlesource.com/973722 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52435} TBR=rmcilroy@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org Change-Id: Ie62a73a5be3b21a15bb46e342acb3e808fbaa4f3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/999653Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52440}
-
Dan Elphick authored
This moves: * the main oddballs (null, undefined, hole, true, false) as well as their supporting maps (also adds hole as an internalized string to make this work). * most of the internalized strings * the struct maps * empty array * empty enum cache * the contents of the initial string table * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the value avoid writing to it during run-time) The StartupSerializer stats change as follows: RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE old 0 0 270264 32608 12144 0 new 21776 0 253168 32608 8184 0 Overall memory usage has increased by 720 bytes due to the eager initialization of the Map weak cell caches. Also extends --serialization-statistics to print out separate instance type stats for objects in RO_SPACE as shown here: Read Only Instance types (count and bytes): 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE 2 32 HEAP_NUMBER_TYPE 5 240 ODDBALL_TYPE 45 3960 MAP_TYPE 1 16 BYTE_ARRAY_TYPE 1 24 TUPLE2_TYPE 1 16 FIXED_ARRAY_TYPE 1 32 DESCRIPTOR_ARRAY_TYPE 45 720 WEAK_CELL_TYPE Bug: v8:7464 Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 Reviewed-on: https://chromium-review.googlesource.com/973722 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52435}
-
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}
-