- 01 Oct, 2020 1 commit
-
-
Leszek Swirski authored
Remove the runtime functionality allowing the Isolate to be allocated 4GB aligned in non-pointer-compressed builds. This was barely used in tests, so we can remove it to give slightly stronger compile-time guarantees about pointer-compression-only methods being used only under pointer-compression. Change-Id: I8eb990faa8f8499ecdcb70ca104ffad4be1437b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2442790Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70262}
-
- 03 Sep, 2020 1 commit
-
-
Dominik Inführ authored
HeapWithPointerCompressionTest.HeapLayout sometimes raced with background threads. When iterating chunks, background threads might add chunks concurrently. Prevent this by enforcing safepoint during iteration. Bug: v8:10315 Change-Id: I2852ec3ea18905b669e60eadc660d9343ea35f48 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390767 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69696}
-
- 12 Aug, 2020 1 commit
-
-
Dominik Inführ authored
Move external memory counters out of IsolateData back into Heap. The class ExternalMemoryAccounting now stores all counters and is responsible for updates. This change will allow turning counters into atomic variables. Bug: v8:10315 Change-Id: I2abeda298d3cfcc630fd04ca78a3d6d703e3b419 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346647Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69356}
-
- 05 May, 2020 1 commit
-
-
Dan Elphick authored
Also makes memory-chunk.h accessible from outside heap which allows removal of some heap-inl.h includes. Bug: v8:10473, v8:10496 Change-Id: Iec4fc5ce8ad201f6ee5fd924cc3cd935324429fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172088 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#67551}
-
- 06 Feb, 2020 1 commit
-
-
Ulan Degenbaev authored
A pointer-compressed heap has the same heap limit heuristics as a 32-bit heap. Specifically, the heap limit is restricted to 1GB due to scarce virtual addresses space on 32-bit platforms. That limitation does not apply for pointer-compressed heaps which can use 4GB. This CL changes the heap limit computation to use system the pointer size instead of the tagged pointer size. Note that the young generation limit continues to use the tagged pointer size. Bug: chromium:1045034 Change-Id: I9d5bb818c32a82322476e9c97feee331400ebe0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2042102Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66159}
-
- 07 Oct, 2019 1 commit
-
-
Igor Sheludko authored
With the smi-corrupting decompression approach we don't have to sign extend Smis anymore and therefore we can switch to zero extending approach by moving the isolate root to the beginning of the reserved 4Gb region. Bug: v8:9706 Change-Id: Icd6008fa87d0924519b574fdec445976f742e306 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1835548 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#64144}
-
- 06 Jun, 2019 1 commit
-
-
Ulan Degenbaev authored
The new API function is called ConfigureDefaultsFromHeapSize and accepts two parameters: the initial and the maximum heap size. Based on the given limits the function computes the default size for the young and the old generation. The patch also cleans up the existing functions to make them consistent in terms of units and heap structure. Bug: v8:9306 Change-Id: If2200a9cdb45b0b818a373207efe4e6426f7b688 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631593 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#62017}
-
- 31 May, 2019 1 commit
-
-
Ulan Degenbaev authored
The size is now computed as a fraction of the old space size: - for low memory devices (<512MB) the fraction is 1 / 256. - for all other devices the fraction is 1 / 128. The values were chosen to minimize the difference between the new and the old heuristics. Bug: v8:9306 Change-Id: I3246fe2d6fc589af6220e2566e3f10fb13470b82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632158Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61947}
-
- 23 May, 2019 2 commits
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I0023200c54fa6499ae4e2cf5e4c89407cc35f187 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624218Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61762}
-
- 29 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in heap code to 'using' declarations. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: I8a9f6e1eebdd0adca4373c866e95ebab0a1e992d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545892Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60523}
-
- 05 Mar, 2019 1 commit
-
-
Ulan Degenbaev authored
This allows us to change the page size without affecting Scavenger heuristics and performance. Bug: chromium:852420 Change-Id: Idcff4296e88e16f9af0ee6ecd00c63d789866fd6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1499494 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60028}
-
- 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}
-
- 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}
-
- 30 Oct, 2018 1 commit
-
-
Igor Sheludko authored
to control how the memory for Isolate object is allocated. This is the support for pointer-compression friendly heap layout. Bug: v8:8182 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ida36b81ee22bd865005c394748b62d4c0897d746 Reviewed-on: https://chromium-review.googlesource.com/c/1251548 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57131}
-
- 26 Oct, 2018 1 commit
-
-
Igor Sheludko authored
and also move embedder fields from Isolate to IsolateData. The external memory counter fields are temporarily moved to IsolateData in order to avoid unexpected Node JS bot failures which happen if the fields are left in the Heap class. Bug: v8:8182 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I9d58f235c0ce40e110f595addd03b80b3617aa77 Reviewed-on: https://chromium-review.googlesource.com/c/1278793 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#57037}
-
- 06 Sep, 2018 1 commit
-
-
Michael Lippautz authored
Previously explicit calls to external memory adjustment could yield in lowering the limit below the initial default limit. The consequence is repeated useless garbage collections when e.g. passing around ArrayBuffers. Bug: chromium:880036 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I429f5adcd9ae523e5ac7621cf7976686b0dec71b Reviewed-on: https://chromium-review.googlesource.com/1209784Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#55694}
-
- 07 Jun, 2018 1 commit
-
-
Rodrigo Bruno authored
Bug: chromium:845409 Change-Id: I377d6f9d26a193f7fd829f7b74f9fdabc1337dc0 Reviewed-on: https://chromium-review.googlesource.com/1089053 Commit-Queue: Rodrigo Bruno <rfbpb@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53580}
-
- 15 Dec, 2017 1 commit
-
-
Bill Budge authored
- Creates a memory management API in v8::internal, which corresponds to the existing one in base::OS. - Implements the new API in terms of the old one. - Changes all usage of the base::OS API to the one in v8::internal. This includes all tests, except platform and OS tests. - Makes OS:: methods private. - Moves all LSAN calls into the v8::internal functions. Bug: chromium:756050 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Iaa3f022e3e12fdebf937f3c76b6c6455014beb8a Reviewed-on: https://chromium-review.googlesource.com/794856 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Eric Holk <eholk@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50139}
-
- 18 Oct, 2017 1 commit
-
-
Bill Budge authored
This reverts commit d607f1e7. Reason for revert: Suspected cause of hanging tests: https://bugs.chromium.org/p/v8/issues/detail?id=6927#c13 Original change's description: > [Memory] Move GetRandomMmapAddr from base::OS platform to v8::internal. > > - Moves GetRandomMmapAddr from platform to v8::internal allocation > primitives, in preparation for delegating this to the embedder. > - Adds hint parameters to OS functions that used to use this function. > > Bug: chromium:756050 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: Iad72e6eac9c08a3e22c2cd2b2905623b8e514ae0 > Reviewed-on: https://chromium-review.googlesource.com/677777 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48124} TBR=bbudge@chromium.org,ulan@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:756050 Change-Id: I2c515934906e67b47ceea2863bc2992ac1d23ab3 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/726319 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48701}
-
- 22 Sep, 2017 1 commit
-
-
Bill Budge authored
- Moves GetRandomMmapAddr from platform to v8::internal allocation primitives, in preparation for delegating this to the embedder. - Adds hint parameters to OS functions that used to use this function. Bug: chromium:756050 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Iad72e6eac9c08a3e22c2cd2b2905623b8e514ae0 Reviewed-on: https://chromium-review.googlesource.com/677777Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#48124}
-
- 09 Aug, 2017 1 commit
-
-
Ulan Degenbaev authored
This ensures that 2GB devices get 512K initial semi-space. Bug: chromium:735649 TBR: mlippautz@chromium.org Change-Id: I864c9dfa7cd3ea9040fa56d81d6bf1187c1cf776 Reviewed-on: https://chromium-review.googlesource.com/608129Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47246}
-
- 31 Jul, 2017 1 commit
-
-
Ulan Degenbaev authored
This sets the minimum semi-space size to 512K, but does not change the initial semi-space size. This reverts commit 774a4c5e. Original commit message: > [heap] Allow a minimum semi-space size of 512K. > This CL also reduces the minimum semi-space size to 512K. > BUG=chromium:716032 BUG=chromium:735649 TBR=mlippautz@chromium.org Change-Id: I1f5dd05b0851ba2b438bedcc023a5cf5f9242a81 Reviewed-on: https://chromium-review.googlesource.com/594107Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47016}
-
- 28 Jul, 2017 1 commit
-
-
Ulan Degenbaev authored
This reverts commit 176a2b24. Reason for revert: performance regression on the benchmarks. Original change's description: > [heap] Reland "[heap] Allow a minimum semi-space size of 512K." > > This patch changes the semi-space size to 512K. > > > Original commit message: > > Revert "[heap] Allow a minimum semi-space size of 512K." > > This reverts commit 0d2ed6c3. > > The CL introduced perf regressions: crbug.com/735649. > > We are going to reland the CL in an isolated V8 roll to ensure > > that perf regressions are attributed correctly. > > > Original commit message: > > > [heap] Allow a minimum semi-space size of 512K. > > > This CL also reduces the minimum semi-space size to 512K. > > > BUG=chromium:716032 > > BUG=chromium:735649 > > Change-Id: Iabc377cba2911b28d51b98bb5b85134d4e893632 > Reviewed-on: https://chromium-review.googlesource.com/575066 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46763} TBR=ulan@chromium.org,mlippautz@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I80f8b6699f41e91512f7cec38060c829252ff95e Reviewed-on: https://chromium-review.googlesource.com/591309Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46982}
-
- 19 Jul, 2017 2 commits
-
-
Ulan Degenbaev authored
This patch changes the semi-space size to 512K. > Original commit message: > Revert "[heap] Allow a minimum semi-space size of 512K." > This reverts commit 0d2ed6c3. > The CL introduced perf regressions: crbug.com/735649. > We are going to reland the CL in an isolated V8 roll to ensure > that perf regressions are attributed correctly. > Original commit message: > > [heap] Allow a minimum semi-space size of 512K. > > This CL also reduces the minimum semi-space size to 512K. > > BUG=chromium:716032 > BUG=chromium:735649 Change-Id: Iabc377cba2911b28d51b98bb5b85134d4e893632 Reviewed-on: https://chromium-review.googlesource.com/575066Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46763}
-
Ulan Degenbaev authored
This relands parts of "[heap] Allow a minimum semi-space size of 512K." excluding the actual semi-space size change. This partially reverts commit f341bb0f > Original commit message: > Revert "[heap] Allow a minimum semi-space size of 512K." > This reverts commit 0d2ed6c3. > The CL introduced perf regressions: crbug.com/735649. > We are going to reland the CL in an isolated V8 roll to ensure > that perf regressions are attributed correctly. > Original commit message: > > [heap] Allow a minimum semi-space size of 512K. > > This CL also reduces the minimum semi-space size to 512K. > > BUG=chromium:716032 > BUG=chromium:735649 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I5ed66b72104aa877d67fcd20bdadc807ea1551c3 Reviewed-on: https://chromium-review.googlesource.com/575065 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46762}
-
- 14 Jul, 2017 1 commit
-
-
Ulan Degenbaev authored
Currently every VirtualMemory allocation on 64-bit systems uses a random 46-bit address hint for ASLR. This leads to wired page leak on MacOS discovered by Erik Chen (see crbug.com/700928 and https://chromium-review.googlesource.com/c/557958/): "The Darwin kernel [as of macOS 10.12.5] does not clean up page directory entries [PDE] created from mmap or mach_vm_allocate, even after the region is destroyed. Using a virtual address space that is too large causes a leak of about 1 wired [can never be paged out] page per call to mmap(). The page is only reclaimed when the process is killed." This patch changes VirtualMemory to accept the hint parameter explicitly. On MacOS the hints are confined to 4GB contiguous region. Algorithm: - On startup, set heap.mmap_region_base_ to a random address. - For each mmap use heap.mmap_region_base_ + (random_offset % (4*GB)). BUG=chromium:700928 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I2ae6a024e02fbe63f940105d7920b57c19abacc6 Reviewed-on: https://chromium-review.googlesource.com/558876 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46656}
-
- 30 Jun, 2017 1 commit
-
-
Ulan Degenbaev authored
This reverts commit 0d2ed6c3. The CL introduced perf regressions: crbug.com/735649. We are going to reland the CL in an isolated V8 roll to ensure that perf regressions are attributed correctly. Original commit message: > [heap] Allow a minimum semi-space size of 512K. > This CL also reduces the minimum semi-space size to 512K. > BUG=chromium:716032 BUG=chromium:735649 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I1f1b08ca6853347c00070f000c309d839ff8a4bb Reviewed-on: https://chromium-review.googlesource.com/552541Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46349}
-
- 19 Jun, 2017 1 commit
-
-
hpayer authored
This CL also reduces the minimum semi-space size to 512K. BUG=chromium:716032 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2942543002 Cr-Commit-Position: refs/heads/master@{#45992}
-
- 12 Jun, 2017 1 commit
-
-
hpayer authored
BUG=chromium:716032 Review-Url: https://codereview.chromium.org/2919023003 Cr-Commit-Position: refs/heads/master@{#45850}
-
- 23 May, 2017 1 commit
-
-
hpayer authored
Perf Sheriffs: This CL may change performance on various benchmarks. BUG=chromium:716032 Review-Url: https://codereview.chromium.org/2895473003 Cr-Commit-Position: refs/heads/master@{#45495}
-
- 19 Dec, 2016 1 commit
-
-
cbruni authored
STRUCT_LIST and INSTANCE_TYPE_LIST are now forced to have the same order as the InstanceType enum. Drive-by-fix 1: Move type check and cast functions closer together in objects-inl.h Drive-by-fix 2: Remove unused instance types SIGNATURE_INFO_TYPE and TYPE_SWITCH_INFO_TYPE. BUG= Review-Url: https://codereview.chromium.org/2578573002 Cr-Commit-Position: refs/heads/master@{#41804}
-
- 15 Jun, 2015 1 commit
-
-
ulan authored
Doc: https://goo.gl/LLGvBs BUG= Review URL: https://codereview.chromium.org/1163143009 Cr-Commit-Position: refs/heads/master@{#29015}
-