- 21 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I98ac4de406630c14280927240e9471049af3e790 Reviewed-on: https://chromium-review.googlesource.com/1108118Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53920}
-
- 20 Jun, 2018 2 commits
-
-
Leszek Swirski authored
If the isolate is available via another object (including JSReceivers and Contexts), grab it through that rather than HeapObject::GetIsolate. As a drive-by, fix up places where this looked like it would work but didn't because of null or uninitialized objects. Bug: v8:7786 Change-Id: I3454840073d1455b3738e0ac34ccaa3c9a220896 Reviewed-on: https://chromium-review.googlesource.com/1104170Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53876}
-
Creddy authored
This is a reland of 380dba0a Original change's description: > [runtime][gc] Drop AllocationSite::weak_next field for sub-literals > > Use AllocationSite without Weaknext field for all the allocations in nested > literal except for Root. The nested field is sufficient to link all the > allocations in a nested literal. Only the Root is added to heap weak_alloc_list > for GC to traverse > > Change-Id: I946e63292c6d168197cd2a087f697c73cc431272 > Reviewed-on: https://chromium-review.googlesource.com/1101323 > Commit-Queue: Chandan Reddy <chandanreddy@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53813} Change-Id: Ic451fb3600b87f8f69748b1659ff89a80c9322fa Reviewed-on: https://chromium-review.googlesource.com/1106257Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Chandan Reddy <chandanreddy@google.com> Cr-Commit-Position: refs/heads/master@{#53872}
-
- 19 Jun, 2018 2 commits
-
-
Clemens Hammacher authored
This reverts commit 380dba0a. Reason for revert: Fails gc-stress: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Mac64%20GC%20Stress/1471 Original change's description: > [runtime][gc] Drop AllocationSite::weak_next field for sub-literals > > Use AllocationSite without Weaknext field for all the allocations in nested > literal except for Root. The nested field is sufficient to link all the > allocations in a nested literal. Only the Root is added to heap weak_alloc_list > for GC to traverse > > Change-Id: I946e63292c6d168197cd2a087f697c73cc431272 > Reviewed-on: https://chromium-review.googlesource.com/1101323 > Commit-Queue: Chandan Reddy <chandanreddy@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53813} TBR=ulan@chromium.org,cbruni@chromium.org,chandanreddy@google.com Change-Id: Icc87027f14f917da3033db256c2535e08e2a4a34 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1105159Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53815}
-
Creddy authored
Use AllocationSite without Weaknext field for all the allocations in nested literal except for Root. The nested field is sufficient to link all the allocations in a nested literal. Only the Root is added to heap weak_alloc_list for GC to traverse Change-Id: I946e63292c6d168197cd2a087f697c73cc431272 Reviewed-on: https://chromium-review.googlesource.com/1101323 Commit-Queue: Chandan Reddy <chandanreddy@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53813}
-
- 14 Jun, 2018 1 commit
-
-
Alexei Filippov authored
Make the progress report aligned with the single pass over the heap. Change-Id: I6a63e7eee86719328daa588e5a0c53a668aca464 Reviewed-on: https://chromium-review.googlesource.com/1099863Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53744}
-
- 13 Jun, 2018 2 commits
-
-
Creddy authored
Use DEFINE_FIELD_OFFSET_CONSTANTS to describe AllocationSite fields Change-Id: I03ae84e1f4720da9da7e2a8a784f56fe6f155e18 Reviewed-on: https://chromium-review.googlesource.com/1095308Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#53696}
-
Georgia Kouveli authored
Replace all uses of Deoptimizer::BailoutType and CodeEventListener::DeoptKind with DeoptimizeKind from src/globals.h. Change-Id: I5b9002583a69bc43d995cacc7619b018e5a70727 Reviewed-on: https://chromium-review.googlesource.com/1097331 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#53695}
-
- 11 Jun, 2018 2 commits
-
-
Dominik Inführ authored
Now that V8 uses EphemeronHashTable as backing store for JSWeakCollections one pass over the heap is enough. In the old implementation a second pass was necessary to find the owner of the FixedArray to determine if its entries are strong or weak references. Bug: chromium:844008 Change-Id: I04bdf7d480c9be301831698571be5b226d20ac20 Reviewed-on: https://chromium-review.googlesource.com/1090910Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53643}
-
Leszek Swirski authored
Whenever an Isolate is available on a variable, field, or method parameter, use that instead of GetIsolate(). Also convert simple cases of the one-argument handle constructor to either use an available Isolate, or use GetIsolate() if their first parameter is a variable. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I52805905a9ca8729615ead78859f43d5e8f605f1 Reviewed-on: https://chromium-review.googlesource.com/1092853 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53629}
-
- 08 Jun, 2018 1 commit
-
-
Dominik Inführ authored
This is a reland of 4f945599 Original change's description: > Add Visitor for EphemeronHashTable > > JSWeakCollection does not have any weak references anymore. Special > handling of Ephemerons can now be implemented in > VisitEphemeronHashTable. > > Bug: chromium:844008 > Change-Id: I9f4d8ad6a32cc7a55b715803f6a83ff8d2743ce8 > Reviewed-on: https://chromium-review.googlesource.com/1090274 > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53584} Bug: chromium:844008 Change-Id: I9d2953d55eb0affba4fede5ec37369c1eb6574f5 Reviewed-on: https://chromium-review.googlesource.com/1092370Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53602}
-
- 07 Jun, 2018 6 commits
-
-
Dominik Inführ authored
This is a reland of 3b93e695 Original change's description: > Add InstanceType for EphemeronHashTable > > This will allow the GC to differentiate between regular HashTables and EphemeronHashTables. > > Bug: chromium:844008 > Change-Id: I2f9009ac25eb117de03786b110dd362b829c5e9e > Reviewed-on: https://chromium-review.googlesource.com/1089066 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Cr-Commit-Position: refs/heads/master@{#53577} TBR=tebbi@chromium.org Bug: chromium:844008 Change-Id: Ia5da3d15e28ace94063f9db4fdd4997d88696501 Reviewed-on: https://chromium-review.googlesource.com/1091090 Commit-Queue: Dominik Inführ <dinfuehr@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53594}
-
Bill Budge authored
This reverts commit 3b93e695. Reason for revert: Breaks Linux nosnap: https://ci.chromium.org/buildbot/client.v8/V8%20Linux%20-%20nosnap%20-%20debug/19064 Original change's description: > Add InstanceType for EphemeronHashTable > > This will allow the GC to differentiate between regular HashTables and EphemeronHashTables. > > Bug: chromium:844008 > Change-Id: I2f9009ac25eb117de03786b110dd362b829c5e9e > Reviewed-on: https://chromium-review.googlesource.com/1089066 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Cr-Commit-Position: refs/heads/master@{#53577} TBR=ulan@chromium.org,tebbi@chromium.org,dinfuehr@google.com Change-Id: I8f92d76e35ae419af937add9a0e70a288c604781 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:844008 Reviewed-on: https://chromium-review.googlesource.com/1090973Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#53589}
-
Bill Budge authored
This reverts commit 4f945599. Reason for revert: Changed break Linux Bot: https://ci.chromium.org/buildbot/client.v8/V8%20Linux%20-%20nosnap%20-%20debug/19064 Original change's description: > Add Visitor for EphemeronHashTable > > JSWeakCollection does not have any weak references anymore. Special > handling of Ephemerons can now be implemented in > VisitEphemeronHashTable. > > Bug: chromium:844008 > Change-Id: I9f4d8ad6a32cc7a55b715803f6a83ff8d2743ce8 > Reviewed-on: https://chromium-review.googlesource.com/1090274 > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53584} TBR=ulan@chromium.org,dinfuehr@google.com Change-Id: Ifba31e75b0ca221da3a3905db829af586d342e26 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:844008 Reviewed-on: https://chromium-review.googlesource.com/1090971Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#53588}
-
Dominik Inführ authored
JSWeakCollection does not have any weak references anymore. Special handling of Ephemerons can now be implemented in VisitEphemeronHashTable. Bug: chromium:844008 Change-Id: I9f4d8ad6a32cc7a55b715803f6a83ff8d2743ce8 Reviewed-on: https://chromium-review.googlesource.com/1090274 Commit-Queue: Dominik Inführ <dinfuehr@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53584}
-
Dominik Inführ authored
This will allow the GC to differentiate between regular HashTables and EphemeronHashTables. Bug: chromium:844008 Change-Id: I2f9009ac25eb117de03786b110dd362b829c5e9e Reviewed-on: https://chromium-review.googlesource.com/1089066Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53577}
-
Dominik Inführ authored
JSWeakCollection should use EphemeronHashTable as backing store instead of ObjectHashTable such that the GC can handle these structures differently in the future. Bug: chromium:844008 Change-Id: Icc6df60c975a942877e2507ef45e0d235e5f72be Reviewed-on: https://chromium-review.googlesource.com/1089063 Commit-Queue: Dominik Inführ <dinfuehr@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53572}
-
- 06 Jun, 2018 1 commit
-
-
Anna Henningsen authored
`SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`, assumes a monolithic embedder that can provide all necessary information. That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js instances per V8 Isolate, as well as native addons that may allocate resources on their own. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d Reviewed-on: https://chromium-review.googlesource.com/1082441 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53545}
-
- 04 Jun, 2018 2 commits
-
-
Ulan Degenbaev authored
This reverts 667555c6. This is a short-term fix for NodeJS regression caused by Scavenger not collecting weak handles that are marked as independent. Bug: chromium:847863, chromium:780749 Change-Id: Ia1c02e042d0e593c6f5badb82c4ef20b923d3806 Reviewed-on: https://chromium-review.googlesource.com/1082442Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53502}
-
Marja Hölttä authored
BUG=v8:7308 TBR=ishell@chromium.org, tebbi@chromium.org Change-Id: I0f7de13967d3e109b40d7158ee29775754c3d108 Reviewed-on: https://chromium-review.googlesource.com/1082475 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53483}
-
- 01 Jun, 2018 2 commits
-
-
Marja Hölttä authored
This reverts commit 0f23cedd. Reason for revert: buildbot failures Original change's description: > [in-place weak refs] Replace WeakCells in DescriptorArray. > > BUG=v8:7308 > > Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 > Reviewed-on: https://chromium-review.googlesource.com/1075053 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53473} TBR=ulan@chromium.org,marja@chromium.org,tebbi@chromium.org,ishell@chromium.org Change-Id: I713ab10650f933a8218a61521868d6cd16cb821e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Reviewed-on: https://chromium-review.googlesource.com/1082218Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53474}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 Reviewed-on: https://chromium-review.googlesource.com/1075053 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53473}
-
- 28 May, 2018 1 commit
-
-
Marja Hölttä authored
WeakFixedArrays can also contain strong pointers. (Separating this fix from https://chromium-review.googlesource.com/c/v8/v8/+/1075053 ; after that CL tests will fail without this fix.) BUG=v8:7308 Change-Id: I0d47ab179625bcbf6149cf02ad696f8af250ae8d Reviewed-on: https://chromium-review.googlesource.com/1075270Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53386}
-
- 24 May, 2018 3 commits
-
-
Peter Marshall authored
We store deopt inline frames for all functions when we receive the code creation event. We only ever use this information for code which is deoptimized. Given that we receive code deopt events, we can just store this information when the code is deoptimized. At the time of the code deopt event, we also know the associated deopt_id. That means we don't need to store a map of deopt_ids to vectors of frames, because we will only ever access the frames for the deopt_id that is already set. This means we store way less data, particularly for long-running processes which see fewer deopts. This saves 10MiB peak memory on the node server example. Bug: v8:7719 Change-Id: If6cf5ec413848e4c9f3c1e2106366ae2adae6fb1 Reviewed-on: https://chromium-review.googlesource.com/1050289 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53330}
-
Peter Marshall authored
This distinction doesn't matter, they aren't treated any differently to other strings. Change-Id: I524a0a1c4089284af97aa507afc5bd5985fe6631 Reviewed-on: https://chromium-review.googlesource.com/1071628Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#53329}
-
Marja Hölttä authored
Moving them away was a mistake. Fixing this enables getting rid of a bunch of includes. BUG=v8:5402 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I5482eab4281c7450350f058fe0a04a6f375ea082 Reviewed-on: https://chromium-review.googlesource.com/1070188Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53328}
-
- 23 May, 2018 3 commits
-
-
Alexei Filippov authored
The patch makes it manage a free list of released code_entries_ slots, and reuse the slots as needed. BUG=v8:7719 Change-Id: I07df1ce983fe00e0ca3d1a1ea20e1a141aabad99 Reviewed-on: https://chromium-review.googlesource.com/1062769Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53314}
-
Alexei Filippov authored
BUG=chromium:844150 Change-Id: I0f7e10fb9778b3de76591ad4819be45c8c50c8d4 Reviewed-on: https://chromium-review.googlesource.com/1064815Reviewed-by:
Stephan Herhut <herhut@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53313}
-
Peter Marshall authored
The current profiling mode (called kLeafNodeLineNumbers in this CL) produces a tree, with each node representing a stack frame that is seen in one or more samples taken during profiling. These nodes refer to a particular function in a stack trace, but not to a particular line or callsite within that function. This CL adds a new more (called kCallerLineNumbers) which produces a different profile tree, where each stack trace seen during profiling, including the line number, has a unique path in the tree. The profile tree was previously keyed on CodeEntry*. Now it is keyed on the pair of CodeEntry* and line_number, meaning it has distinct nodes for those combinations which exist, and each distinct stack trace that was sampled is represented in the tree. For optimized code where we have inline frames, there are no line numbers for the inline frames in the stack trace, causing duplicate branches in the tree with kNoLineNumberInfo as the reported line number. This will be addressed in follow-ups. Bug: v8:7018 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I512e221508f5b50ec028306d212263b514a9fb24 Reviewed-on: https://chromium-review.googlesource.com/1013493 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53298}
-
- 22 May, 2018 1 commit
-
-
Peter Marshall authored
This map is often quite small and holds small items (ints) so wastes quite a bit of overhead in the backing tree representation. This CL changes the std::map to a sorted vector of pairs. This reduces the size significantly (2.13 MiB -> 598 KiB on the node server example). Bug: v8:7719 Change-Id: Ic829693f007732ae145fae02850a1ed913cd941e Reviewed-on: https://chromium-review.googlesource.com/1064233 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53278}
-
- 18 May, 2018 1 commit
-
-
Peter Marshall authored
This was set very regularly in FillFunctionInfo, but it was almost always set to kNoReason, because the associated SFI had no bailout reason. Given that having a bailout reason is the rare case, we just assume an empty bailout reason, and use the rare_data_ struct to store the string pointer if we do need it. This saves another pointer of space on the CodeEntry object (approx 1.4 MiB on the node server example). Bug: v8:7719 Change-Id: I8e2272b572285ddf353ba0b303e6da095b7d5272 Reviewed-on: https://chromium-review.googlesource.com/1064370 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53244}
-
- 17 May, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7490 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I83061dac1b255b239738f900b5149828bd2203ec Reviewed-on: https://chromium-review.googlesource.com/1061496Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53237}
-
- 16 May, 2018 1 commit
-
-
Alexei Filippov authored
Currently ProfilerListener holds all the CodeEntries it ever created during the profiling session. It is not capable of removing entries corresponding to the code objects discarded by GC as there's no such code event. However it is sometimes possible to tell if a code object was GCed. Hook up to the CodeMap code entry removal and if the entry has never been hit by a sample we can safely delete it. As a bonus the CodeEntryInfo size has been reduced on x64, which also saves 8 x <number of code entries> bytes. BUG=v8:7719 Change-Id: I988bc5b59f3fba07157a9f472cbcf68596fcd969 Reviewed-on: https://chromium-review.googlesource.com/1054346Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53222}
-
- 11 May, 2018 1 commit
-
-
Alexei Filippov authored
Change-Id: I8b9308d7628d7efc2a2212ef3a3aa52ccddbfb36 Reviewed-on: https://chromium-review.googlesource.com/1048036 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#53133}
-
- 09 May, 2018 3 commits
-
-
Clemens Hammacher authored
This is a reland of e084eea6. Undefined behavious was fixed in https://crrev.com/c/1051235. Original change's description: > Fix SourcePositionInfo for wasm > > In wasm we often don't have a SharedFunctionInfo associated with a > compilation job, so we can't get a Script. Just print "unknown" in > these cases (instead of crashing). > > R=titzer@chromium.org > CC=herhut@chromium.org > > Bug: chromium:840757, v8:7738 > Change-Id: I850c6adfd9e07c9a0f6dd018f1a9314feb89d887 > Reviewed-on: https://chromium-review.googlesource.com/1049632 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53080} TBR=titzer@chromium.org Bug: chromium:840757, v8:7738 Change-Id: If04040a33766955cfed78e7c27226dd04c3f9b9f Reviewed-on: https://chromium-review.googlesource.com/1051266Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53111}
-
Peter Marshall authored
The handles created for each SharedFunctionInfo within SourcePosition::InliningStack live for the life of the profile, reaching 5MiB+ on an example server application for Node. This HandleScope limits their lifetime locally, given that the handles do not escape. This saves ~10% of peak memory. Bug: v8:7719 Change-Id: I97ce0fd3658be89fdd9cb9c1369ea5bfae0ce579 Reviewed-on: https://chromium-review.googlesource.com/1049647Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#53085}
-
Michael Achenbach authored
This reverts commit e084eea6. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20UBSanVptr/builds/3163 Original change's description: > Fix SourcePositionInfo for wasm > > In wasm we often don't have a SharedFunctionInfo associated with a > compilation job, so we can't get a Script. Just print "unknown" in > these cases (instead of crashing). > > R=titzer@chromium.org > CC=herhut@chromium.org > > Bug: chromium:840757, v8:7738 > Change-Id: I850c6adfd9e07c9a0f6dd018f1a9314feb89d887 > Reviewed-on: https://chromium-review.googlesource.com/1049632 > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53080} TBR=titzer@chromium.org,clemensh@chromium.org Change-Id: Ib2020ea3f2b778df9fe50ccbe803938f2f4fd709 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:840757, v8:7738 Reviewed-on: https://chromium-review.googlesource.com/1051265Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#53082}
-
- 08 May, 2018 2 commits
-
-
Clemens Hammacher authored
In wasm we often don't have a SharedFunctionInfo associated with a compilation job, so we can't get a Script. Just print "unknown" in these cases (instead of crashing). R=titzer@chromium.org CC=herhut@chromium.org Bug: chromium:840757, v8:7738 Change-Id: I850c6adfd9e07c9a0f6dd018f1a9314feb89d887 Reviewed-on: https://chromium-review.googlesource.com/1049632 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53080}
-
Marja Hölttä authored
- Make FeedbackVector backing store a WeakFixedArray. - "feedback" is always strong but "extra" might be weak. - Whenever the handler stored in FeedbackVector is a WeakCell to a transition Map, replace it with an in-place weak reference. For a more detailed description of the changes, see the design doc https://docs.google.com/document/d/1P8cIme2wKszdYt64ObAiuh6pXgLnrrn80Hpl1ejJbOU/edit#heading=h.ijx1oculrikp BUG=v8:7308 Change-Id: I72c5cf6597ef24d4c22a1fe8e25b67ca196d4ec8 Reviewed-on: https://chromium-review.googlesource.com/1027855 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53051}
-
- 07 May, 2018 1 commit
-
-
Alexei Filippov authored
The RareData objects contain fields that often absent in CodeEntry'es. They are created as needed when a corresponding field is added. This reduces CodeEntry size on x64 by 40% from 136 to 80 bytes. BUG=v8:7719 Change-Id: I1f3c6255aa2f228895e835b536c743396131db31 Reviewed-on: https://chromium-review.googlesource.com/1045885Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#53039}
-