1. 08 Feb, 2019 3 commits
  2. 07 Feb, 2019 1 commit
  3. 06 Feb, 2019 1 commit
  4. 26 Dec, 2018 1 commit
  5. 20 Dec, 2018 1 commit
  6. 17 Dec, 2018 1 commit
  7. 07 Dec, 2018 1 commit
  8. 28 Nov, 2018 1 commit
  9. 25 Nov, 2018 1 commit
  10. 16 Nov, 2018 1 commit
  11. 13 Nov, 2018 1 commit
  12. 12 Nov, 2018 1 commit
  13. 05 Nov, 2018 2 commits
  14. 31 Oct, 2018 1 commit
  15. 24 Oct, 2018 1 commit
  16. 16 Oct, 2018 1 commit
    • Dan Elphick's avatar
      [snapshot] Create a ReadOnly snapshot · f602712f
      Dan Elphick authored
      In preparation for sharing RO_SPACE between all Isolates within a
      process, this first pulls RO_SPACE out of the Startup snapshot and puts
      it in its own ReadOnly snapshot.
      
      The snapshot is first populated with the read-only roots. After that the
      StartupSerializer serializes as before but starting from the first
      mutable root. References to objects in the ReadOnly snapshot that aren't
      themselves roots are added to a new cache called ReadOnlyObjectCache
      which functions like the PartialSnapshotCache but lives in the
      ReadOnlySerializer rather than the StartupSerializer. These cache
      entries are referenced using a new bytecode: ReadOnlyObjectCache. (To
      make room for this, the ApiReference bytecode has been moved).
      
      To reduce code duplication, the StartupSerializer has been refactored to
      create a new base class RootSerializer, which ReadOnlySerializer also
      subclasses. The base class is responsible primarily for keeping track of
      already serialized roots and visiting the roots.
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Iff26042886130ae22eccf2e11b35f6f226f4a792
      Bug: v8:8191
      Reviewed-on: https://chromium-review.googlesource.com/c/1244676
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56681}
      f602712f
  17. 10 Oct, 2018 2 commits
    • Dan Elphick's avatar
      Reland "[snapshot] Factor out root serialization code" · ce9198e4
      Dan Elphick authored
      This is a reland of 22b56f47
      
      Nothing has changed. This is a reland of a speculative revert.
      
      Original change's description:
      > [snapshot] Factor out root serialization code
      >
      > Factors out a new method Serializer::SerializeRoot which attempts to
      > serialize a given object as a Root if it is one and the Serializer's
      > policy allows that root to be serialized (implemented as a new virtual
      > method RootCanBeSerialized)..
      >
      > This is in preparation for adding a ReadOnlySerializer which change the
      > way read-only roots are serialized.
      >
      > Bug: v8:8191
      > Change-Id: I7fbb4e9520fba8b836a0b6bf95ca39abc3ded79e
      > Reviewed-on: https://chromium-review.googlesource.com/c/1264698
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56494}
      
      TBR=jgruber
      
      Bug: v8:8191
      Change-Id: I30a606b9c99f5651fae323d12f8f74b13bb085fa
      Reviewed-on: https://chromium-review.googlesource.com/c/1273103Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56519}
      ce9198e4
    • Maya Lekova's avatar
      Revert "[snapshot] Factor out root serialization code" · 74aea87a
      Maya Lekova authored
      This reverts commit 22b56f47.
      
      Reason for revert: Speculatively reverting because it increases Android binary size unexpectedly, see https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-binary-size/72572
      
      Original change's description:
      > [snapshot] Factor out root serialization code
      > 
      > Factors out a new method Serializer::SerializeRoot which attempts to
      > serialize a given object as a Root if it is one and the Serializer's
      > policy allows that root to be serialized (implemented as a new virtual
      > method RootCanBeSerialized)..
      > 
      > This is in preparation for adding a ReadOnlySerializer which change the
      > way read-only roots are serialized.
      > 
      > Bug: v8:8191
      > Change-Id: I7fbb4e9520fba8b836a0b6bf95ca39abc3ded79e
      > Reviewed-on: https://chromium-review.googlesource.com/c/1264698
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56494}
      
      TBR=jgruber@chromium.org,delphick@chromium.org,ygg@google.com
      
      Change-Id: I7012abec0f33f655efc64dc44f7fa461d7e4b7e9
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8191
      Reviewed-on: https://chromium-review.googlesource.com/c/1273098Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56509}
      74aea87a
  18. 09 Oct, 2018 1 commit
    • Dan Elphick's avatar
      [snapshot] Factor out root serialization code · 22b56f47
      Dan Elphick authored
      Factors out a new method Serializer::SerializeRoot which attempts to
      serialize a given object as a Root if it is one and the Serializer's
      policy allows that root to be serialized (implemented as a new virtual
      method RootCanBeSerialized)..
      
      This is in preparation for adding a ReadOnlySerializer which change the
      way read-only roots are serialized.
      
      Bug: v8:8191
      Change-Id: I7fbb4e9520fba8b836a0b6bf95ca39abc3ded79e
      Reviewed-on: https://chromium-review.googlesource.com/c/1264698Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56494}
      22b56f47
  19. 26 Sep, 2018 1 commit
  20. 25 Sep, 2018 3 commits
    • Yang Guo's avatar
      Reland "[snapshot] add checksum to startup snapshot" · 8ff37bc7
      Yang Guo authored
      This is a reland of bcb8d49b
      
      TBR=petermarshall@chromium.org
      
      Original change's description:
      > [snapshot] add checksum to startup snapshot
      >
      > We already had checksumming for code cache data. We now extend
      > checksumming to the startup snapshot to catch data corruption early.
      >
      > The performance impact for deserialization is a regression of 1-2%,
      > which should be acceptable.
      >
      > Sample output for the included test with --profile-deserialization:
      >
      > [Verifying snapshot checksum took 0.023 ms]
      > [Deserializing isolate (134348 bytes) took 1.891 ms]
      > [Verifying snapshot checksum took 0.024 ms]
      > [Deserializing isolate (134348 bytes) took 1.654 ms]
      > [Deserializing context #0 (47208 bytes) took 0.331 ms]
      > Deserialization will reserve:
      >     208168 bytes per isolate
      >     123368 bytes per context #0
      > Snapshot blob consists of:
      >     134492 bytes in 6 chunks for startup
      >     115272 bytes for builtins
      >      47152 bytes in 31 chunks for context #0
      > [Verifying snapshot checksum took 0.048 ms]
      > [Verifying snapshot checksum took 0.043 ms]
      >
      > R=peria@chromium.org, petermarshall@chromium.org
      >
      > Bug: chromium:881417
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7
      > Reviewed-on: https://chromium-review.googlesource.com/1241874
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56217}
      
      Bug: chromium:881417
      Change-Id: I037f378fc2d45c3e0fa670bf538df68cbba5c53c
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1243191Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56224}
      8ff37bc7
    • Clemens Hammacher's avatar
      Revert "[snapshot] add checksum to startup snapshot" · 0a04f263
      Clemens Hammacher authored
      This reverts commit bcb8d49b.
      
      Reason for revert: MSan compile error: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/23025
      
      Original change's description:
      > [snapshot] add checksum to startup snapshot
      > 
      > We already had checksumming for code cache data. We now extend
      > checksumming to the startup snapshot to catch data corruption early.
      > 
      > The performance impact for deserialization is a regression of 1-2%,
      > which should be acceptable.
      > 
      > Sample output for the included test with --profile-deserialization:
      > 
      > [Verifying snapshot checksum took 0.023 ms]
      > [Deserializing isolate (134348 bytes) took 1.891 ms]
      > [Verifying snapshot checksum took 0.024 ms]
      > [Deserializing isolate (134348 bytes) took 1.654 ms]
      > [Deserializing context #0 (47208 bytes) took 0.331 ms]
      > Deserialization will reserve:
      >     208168 bytes per isolate
      >     123368 bytes per context #0
      > Snapshot blob consists of:
      >     134492 bytes in 6 chunks for startup
      >     115272 bytes for builtins
      >      47152 bytes in 31 chunks for context #0
      > [Verifying snapshot checksum took 0.048 ms]
      > [Verifying snapshot checksum took 0.043 ms]
      > 
      > R=​peria@chromium.org, petermarshall@chromium.org
      > 
      > Bug: chromium:881417
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7
      > Reviewed-on: https://chromium-review.googlesource.com/1241874
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#56217}
      
      TBR=peria@chromium.org,yangguo@chromium.org,petermarshall@chromium.org
      
      Change-Id: Iccb82092858ab68a5d6ae9552fa716108eda354b
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:881417
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1243190Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56221}
      0a04f263
    • Yang Guo's avatar
      [snapshot] add checksum to startup snapshot · bcb8d49b
      Yang Guo authored
      We already had checksumming for code cache data. We now extend
      checksumming to the startup snapshot to catch data corruption early.
      
      The performance impact for deserialization is a regression of 1-2%,
      which should be acceptable.
      
      Sample output for the included test with --profile-deserialization:
      
      [Verifying snapshot checksum took 0.023 ms]
      [Deserializing isolate (134348 bytes) took 1.891 ms]
      [Verifying snapshot checksum took 0.024 ms]
      [Deserializing isolate (134348 bytes) took 1.654 ms]
      [Deserializing context #0 (47208 bytes) took 0.331 ms]
      Deserialization will reserve:
          208168 bytes per isolate
          123368 bytes per context #0
      Snapshot blob consists of:
          134492 bytes in 6 chunks for startup
          115272 bytes for builtins
           47152 bytes in 31 chunks for context #0
      [Verifying snapshot checksum took 0.048 ms]
      [Verifying snapshot checksum took 0.043 ms]
      
      R=peria@chromium.org, petermarshall@chromium.org
      
      Bug: chromium:881417
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7
      Reviewed-on: https://chromium-review.googlesource.com/1241874Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56217}
      bcb8d49b
  21. 21 Sep, 2018 1 commit
  22. 20 Aug, 2018 1 commit
  23. 17 Aug, 2018 1 commit
  24. 31 Jul, 2018 1 commit
    • Michael Achenbach's avatar
      Revert "[builtins] Clear RelocInfo for off-heap trampolines" · 332f5e8c
      Michael Achenbach authored
      This reverts commit d854d351.
      
      Reason for revert: Speculative revert for webkit unit tests:
      https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/25209
      
      Original change's description:
      > [builtins] Clear RelocInfo for off-heap trampolines
      > 
      > For technical reasons, we used to serialize off-heap trampolines with a
      > RelocInfo containing a single OFF_HEAP_TARGET entry. This RelocInfo was
      > never needed at runtime. It also ended up being somewhat misleading
      > because printing an embedded code object would show the OFF_HEAP_TARGET
      > entry (belonging to the trampoline) at the first 'real' instruction.
      > 
      > With this CL, we explicitly serialize an empty byte array as the reloc
      > info for each off-heap trampoline, i.e. the snapshot will never contain
      > such off-heap target reloc infos.
      > 
      > Bug: v8:6666, v8:7969
      > Change-Id: If6fa85a438d093ed5dcea07ce0de1db49a224d28
      > Reviewed-on: https://chromium-review.googlesource.com/1146643
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54786}
      
      TBR=yangguo@chromium.org,jgruber@chromium.org
      
      Change-Id: If5eabd162141149361df90095b89a173fe2cb81e
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6666, v8:7969
      Reviewed-on: https://chromium-review.googlesource.com/1155594Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54801}
      332f5e8c
  25. 30 Jul, 2018 1 commit
    • jgruber's avatar
      [builtins] Clear RelocInfo for off-heap trampolines · d854d351
      jgruber authored
      For technical reasons, we used to serialize off-heap trampolines with a
      RelocInfo containing a single OFF_HEAP_TARGET entry. This RelocInfo was
      never needed at runtime. It also ended up being somewhat misleading
      because printing an embedded code object would show the OFF_HEAP_TARGET
      entry (belonging to the trampoline) at the first 'real' instruction.
      
      With this CL, we explicitly serialize an empty byte array as the reloc
      info for each off-heap trampoline, i.e. the snapshot will never contain
      such off-heap target reloc infos.
      
      Bug: v8:6666, v8:7969
      Change-Id: If6fa85a438d093ed5dcea07ce0de1db49a224d28
      Reviewed-on: https://chromium-review.googlesource.com/1146643
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54786}
      d854d351
  26. 27 Jul, 2018 1 commit
    • Peter Marshall's avatar
      [cpu-profiler] Use instruction start as the key for the CodeMap · ba752ea4
      Peter Marshall authored
      Previously we used the start address of the AbstractCode object. This
      doesn't make sense for off-heap builtins, where the code isn't contained
      in the object itself. It also hides other potential problems - sometimes
      the sample.pc is inside the AbstractCode object header - this is
      never valid.
      
      There were a few changes necessary to make this happen:
        - Change the interface of CodeMoveEvent. Now 'to' and 'from' are both
          AbstractCode objects, which is nice because many users were taking
          'to' and adding the header offset to it to try and find the
          instruction start address. This isn't valid for off-heap builtins.
        - Fix a bug in CodeMap::MoveCode where we didn't update the CodeEntry
          object to reflect the new instruction_start.
        - Rename the 'start' field in all of the CodeEventRecord sub-classes
          to make it clear that this is the address of the first instruction.
        - Fix the confusion in RecordTickSample between 'tos' and 'pc' which
          caused pc_offset to be calculated incorrectly.
      
      Bug: v8:7983
      Change-Id: I3e9dddf74e4b2e96a5f031d216ef7008d6f184d1
      Reviewed-on: https://chromium-review.googlesource.com/1148457
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54749}
      ba752ea4
  27. 16 Jul, 2018 1 commit
  28. 04 Jul, 2018 1 commit
  29. 30 Apr, 2018 1 commit
  30. 19 Apr, 2018 1 commit
    • Dan Elphick's avatar
      Reland "Reland "[heap] Move initial objects into RO_SPACE"" · 9ab6621a
      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: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52689}
      9ab6621a
  31. 18 Apr, 2018 2 commits
    • Alexei Filippov's avatar
      Reland "[profiler] Ensure there's a single ProfilerListener per isolate." · e0acb1d8
      Alexei Filippov authored
      This is a reland of 9a19ce25
      
      Original change's description:
      > [profiler] Ensure there's a single ProfilerListener per isolate.
      > 
      > BUG=v8:7662
      > 
      > Change-Id: I8128ac96bcd2dc01b318c55843c4416bdd17c7ae
      > Reviewed-on: https://chromium-review.googlesource.com/1013318
      > Commit-Queue: Alexei Filippov <alph@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52653}
      
      Bug: v8:7662
      Change-Id: I28c5e693290057ad2bc90161c82419fb109ef1ae
      Reviewed-on: https://chromium-review.googlesource.com/1015747Reviewed-by: 's avatarAlexei Filippov <alph@chromium.org>
      Commit-Queue: Alexei Filippov <alph@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52678}
      e0acb1d8
    • Peter Marshall's avatar
      Revert "Reland "[heap] Move initial objects into RO_SPACE"" · c2280f9a
      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: 's avatarPeter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52667}
      c2280f9a
  32. 17 Apr, 2018 2 commits