1. 13 Jun, 2018 2 commits
  2. 07 Jun, 2018 4 commits
  3. 06 Jun, 2018 2 commits
  4. 05 Jun, 2018 1 commit
  5. 04 Jun, 2018 1 commit
  6. 01 Jun, 2018 2 commits
  7. 29 May, 2018 1 commit
  8. 15 May, 2018 1 commit
  9. 14 May, 2018 1 commit
  10. 09 May, 2018 1 commit
  11. 08 May, 2018 3 commits
    • jgruber's avatar
      Disable embedded builtins · e0c3f6d6
      jgruber authored
      Embedded builtins have been regressing benchmarks incrementally as
      more and more builtins were moved to the embedded blob. This has made
      recognition and analysis of other possible performance issues more
      difficult.
      
      Let's disable embedded builtins until their performance is at an
      acceptable level.
      
      Bug: v8:6666
      Change-Id: I21a1274f3d5a65063127b0a8604df6dd0d3c0c95
      Reviewed-on: https://chromium-review.googlesource.com/1049550
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53062}
      e0c3f6d6
    • Dan Elphick's avatar
      Revert "[heap] Move even more objects into RO_SPACE" · f5fda7c8
      Dan Elphick authored
      This reverts commit b19d123f.
      
      Reason for revert: It breaks the more important change: https://chromium-review.googlesource.com/c/v8/v8/+/1042145
      (Because it adds mutable objects to RO_SPACE).
      
      Original change's description:
      > [heap] Move even more objects into RO_SPACE
      > 
      > Moves all Oddballs, empty_feedback_metadata, lots of symbols and
      > immortal heap numbers and several other empty collection objects.
      > 
      >       RO_SPACE  NEW_SPACE  OLD_SPACE  CODE_SPACE  MAP_SPACE  LO_SPACE
      > old      31592          0     221160       33280        176         0
      > new      35016          0     217736       33280        176         0
      > diff     +3424                 -3424
      > 
      > Bug: v8:7464
      > Change-Id: Ic99411bcbcb9c9a48b33c59dddb68359278fb0b3
      > Reviewed-on: https://chromium-review.googlesource.com/1025996
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53053}
      
      TBR=hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org
      
      Change-Id: Ieb81f88fe348fcffb67c153c0b116670318814f5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7464
      Reviewed-on: https://chromium-review.googlesource.com/1049555Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53056}
      f5fda7c8
    • Dan Elphick's avatar
      [heap] Move even more objects into RO_SPACE · b19d123f
      Dan Elphick authored
      Moves all Oddballs, empty_feedback_metadata, lots of symbols and
      immortal heap numbers and several other empty collection objects.
      
            RO_SPACE  NEW_SPACE  OLD_SPACE  CODE_SPACE  MAP_SPACE  LO_SPACE
      old      31592          0     221160       33280        176         0
      new      35016          0     217736       33280        176         0
      diff     +3424                 -3424
      
      Bug: v8:7464
      Change-Id: Ic99411bcbcb9c9a48b33c59dddb68359278fb0b3
      Reviewed-on: https://chromium-review.googlesource.com/1025996
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53053}
      b19d123f
  12. 07 May, 2018 1 commit
    • Michael Starzinger's avatar
      [wasm] Make {WasmExportedFunction} fields easier to reach. · 713e10c6
      Michael Starzinger authored
      This moves the internal fields on {WasmExportedFunction} objects from
      being properties with private symbols to a separate structure instead.
      The new {WasmExportedFunctionData} structure can hang off the underlying
      shared function info which is created for each exported function. This
      reduces the number of transitions, speeds up instantiation, and makes it
      easier to reach them from generated code (in the future).
      
      R=titzer@chromium.org
      BUG=v8:7424
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Iaa733b6c9f7bea96246d6680756aa7101669a1a9
      Reviewed-on: https://chromium-review.googlesource.com/1047025
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53040}
      713e10c6
  13. 04 May, 2018 2 commits
  14. 02 May, 2018 2 commits
    • Leszek Swirski's avatar
      Revert "[parser] Slice the source string where possible" · 18bc2856
      Leszek Swirski authored
      This reverts commit 2df5e7a7.
      
      Reason for revert: Mystery crashes https://bugs.chromium.org/p/chromium/issues/detail?id=838805
      
      Original change's description:
      > [parser] Slice the source string where possible
      > 
      > When internalizing string literals (for quoted strings or property names),
      > try to create a sliced string of the source string rather than allocating
      > a copy of the bytes.
      > 
      > This will not work for string literals that contain escapes (e.g. unicode
      > escapes), and currently does not support two-byte strings.
      > 
      > Bug: chromium:818642
      > Change-Id: I686e5ad36baecd1a84ce5e124118431249b6c980
      > Reviewed-on: https://chromium-review.googlesource.com/1010282
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52898}
      
      TBR=marja@chromium.org,yangguo@chromium.org,jarin@chromium.org,mlippautz@chromium.org,leszeks@chromium.org,verwaest@chromium.org
      
      Change-Id: I598b6668c43a3e843e2dd8e60852b2b2f3461954
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:818642
      Reviewed-on: https://chromium-review.googlesource.com/1039885
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52919}
      18bc2856
    • jgruber's avatar
      Reland: [builtins] Patch self-references in constants table · ab9e0124
      jgruber authored
      Original CL: https://crrev.com/c/1018468
      
      During code generation, we generate self-references (i.e. references to
      the Code object currently being generated) as references to a temporary
      handle. When the final Code object has been allocated, the handle's
      location is fixed up and RelocInfo iteration fixes up all references
      embedded in the generated code.
      
      This adds support for this mechanism to the builtins constants table
      builder. CodeObject() is now a new handle pointing to a dedicated
      self-reference marker in order to distinguish between self-references
      and references to undefined. In Factory::NewCode, we patch up
      the constants table.
      
      TBR=yangguo@chromium.org,mlippautz@chromium.org
      
      Bug: v8:6666
      Change-Id: I3fa422c57de99c9851dc7a86394a8387c7c2b397
      Reviewed-on: https://chromium-review.googlesource.com/1039366
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52916}
      ab9e0124
  15. 01 May, 2018 1 commit
  16. 27 Apr, 2018 3 commits
    • Michael Achenbach's avatar
      Revert "[builtins] Patch self-references in constants table" · 77d90890
      Michael Achenbach authored
      This reverts commit 6379e2a4.
      
      Reason for revert:
      https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8%2FV8_Win64%2F23855%2F%2B%2Frecipes%2Fsteps%2FCheck%2F0%2Flogs%2Fmkgrokdump%2F0
      
      Original change's description:
      > [builtins] Patch self-references in constants table
      > 
      > During code generation, we generate self-references (i.e. references to
      > the Code object currently being generated) as references to a temporary
      > handle. When the final Code object has been allocated, the handle's
      > location is fixed up and RelocInfo iteration fixes up all references
      > embedded in the generated code.
      > 
      > This adds support for this mechanism to the builtins constants table
      > builder. CodeObject() is now a new handle pointing to a dedicated
      > self-reference marker in order to distinguish between self-references
      > and references to undefined. In Factory::NewCode, we patch up
      > the constants table.
      > 
      > Bug: v8:6666
      > Change-Id: If74ed91bb1c3b8abb20ff2f0a87d1bcd9a1b0511
      > Reviewed-on: https://chromium-review.googlesource.com/1018468
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52854}
      
      TBR=yangguo@chromium.org,mlippautz@chromium.org,jgruber@chromium.org
      
      Change-Id: I8cf8c4b43f51285ea913c6c8fdd339bd9ea645df
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6666
      Reviewed-on: https://chromium-review.googlesource.com/1033092Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52856}
      77d90890
    • jgruber's avatar
      [builtins] Patch self-references in constants table · 6379e2a4
      jgruber authored
      During code generation, we generate self-references (i.e. references to
      the Code object currently being generated) as references to a temporary
      handle. When the final Code object has been allocated, the handle's
      location is fixed up and RelocInfo iteration fixes up all references
      embedded in the generated code.
      
      This adds support for this mechanism to the builtins constants table
      builder. CodeObject() is now a new handle pointing to a dedicated
      self-reference marker in order to distinguish between self-references
      and references to undefined. In Factory::NewCode, we patch up
      the constants table.
      
      Bug: v8:6666
      Change-Id: If74ed91bb1c3b8abb20ff2f0a87d1bcd9a1b0511
      Reviewed-on: https://chromium-review.googlesource.com/1018468
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52854}
      6379e2a4
    • Dan Elphick's avatar
      [heap] Move all Maps into RO_SPACE · 4655c9d3
      Dan Elphick authored
      Allocates almost all maps found in the start up snapshot into RO_SPACE.
      There are 2 JSObject maps that are excluded as they contain a mutable cell.
      
      Also updates VerifyReadOnlyPointers to check that RO_SPACE objects' maps are
      also in RO_SPACE. Previously the invariant did not hold for Strings which still
      had their maps in MAP_SPACE.
      
      Also moves invalid_prototype_validity_cell to RO_SPACE.
      
          RO_SPACE  NEW_SPACE  OLD_SPACE  CODE_SPACE  MAP_SPACE  LO_SPACE
      old    22024          0     229184       32928       8184         0
      new    31488          0     229184       32928        176         0
      
      Bug: v8:7464
      Change-Id: I870d22cc5234ba60b3ef8a2ada590ee6ae426c9f
      Reviewed-on: https://chromium-review.googlesource.com/1013494Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52848}
      4655c9d3
  17. 25 Apr, 2018 1 commit
    • Simon Zünd's avatar
      [typedarray] Implement TypedArray.p.sort using Torque. · 3ea1ad23
      Simon Zünd authored
      This CL implements TypedArray.p.sort in Torque. The Torque
      version works basically the same as the existing JS builtin:
      
      When no comparison function is provided, the C++ fast path builtin
      is used. Otherwise a quicksort written in Torque is used, with
      a InsertionSort fallback for smaller arrays.
      
      The JS quicksort implementation also containes a more elaborate
      third pivot calculation for larger arrays. This is currently not done.
      
      Reported benchmark results are only for those, where a custom
      comparison function is provided. The numbers for the C++ path stayed
      the same.
      
      Benchmark   Current (JS)       Torque    Speedup
      
      IntTypes            83.9        263.7        3.1
      BigIntTypes         32.1         54.6        1.7
      FloatTypes          99.3        138.7        1.4
      
      R=danno@chromium.org, jgruber@chromium.org
      
      Bug: v8:7382
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I7abe7ceff525bab24f302d2f06b5961cca770d24
      Reviewed-on: https://chromium-review.googlesource.com/1021691
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarDaniel Clifford <danno@chromium.org>
      Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52776}
      3ea1ad23
  18. 23 Apr, 2018 3 commits
  19. 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
  20. 18 Apr, 2018 2 commits
    • Marja Hölttä's avatar
      [in-place weak refs] Replace WeakCells in TransitionArray. · 7560b33e
      Marja Hölttä authored
      BUG=v8:7308
      
      Change-Id: I1976cd7e542a0304f6e14744e634c62dd06a83f5
      Reviewed-on: https://chromium-review.googlesource.com/1014090
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52672}
      7560b33e
    • 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
  21. 17 Apr, 2018 2 commits
    • jgruber's avatar
      Update v8heapconst.py · c5945ca2
      jgruber authored
      TBR=yangguo@chromium.org
      
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6666
      Change-Id: I051dd5a1578d2e611f4b6351aa9cff9451494a5c
      Reviewed-on: https://chromium-review.googlesource.com/1013711
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52640}
      c5945ca2
    • Dan Elphick's avatar
      Reland "[heap] Move initial objects into RO_SPACE" · 6c68efac
      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: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52638}
      6c68efac
  22. 16 Apr, 2018 1 commit
  23. 12 Apr, 2018 1 commit
  24. 10 Apr, 2018 1 commit
    • Matheus Marchini's avatar
      interpreter: make interpreted frames distinguishable in the native stack · ada64b58
      Matheus Marchini authored
      Before Turbofan/Ignition it was possible to use external profilers to
      sample running V8/Node.js processes and generate reports/FlameGraphs
      from that. It's still possible to do so, but non-optimized JavaScript
      functions appear in the stack as InterpreterEntryTrampoline. This commit
      adds a runtime flag which makes interpreted frames visible on the
      process' native stack as distinguishable functions, making the sampled
      data gathered by external profilers such as Linux perf and DTrace more
      useful.
      
      R=bmeurer@google.com, franzih@google.com, jarin@google.com, yangguo@google.com
      
      Bug: v8:7155
      Change-Id: I3dc8876aa3cd9f1b9766624842a7cc354ccca415
      Reviewed-on: https://chromium-review.googlesource.com/959081
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52533}
      ada64b58