1. 11 Sep, 2018 1 commit
  2. 22 Jun, 2018 1 commit
  3. 30 May, 2018 1 commit
    • Alexey Kozyatinskiy's avatar
      [inspector] use interrupt for pause only as last resort · 6d87d957
      Alexey Kozyatinskiy authored
      With this CL we use interrupt for pause in two cases:
      - when we process Debugger.pause on interruption,
      - when we would like to break as soon as possible after OOM.
      In all other cases, e.g. for async step into we use break
      on function call by calling StepIn debugger action.
      
      In mentioned cases we should not actually use interrupt as well:
      - Debugger.pause in this case scheduled using interrupt and we
        may just break right now without requesting another interrupt,
        unfortunately blink side is not ready,
      - we should use more reliable way to break right after near OOM
        callback, otherwise we can get this callback, increase limit,
        request break on next interrupt, before interrupt get another
        huge memory allocation and crash.
      
      There are couple advantages:
      - we get much better break locations for async stepping
        (see inspector tests expectations),
      - we can remove DEBUG_BREAK interruption
        (it should speedup blackboxing with async tasks, see
        removed todo in debug.cc for details)
      - it is required preparation step for async step out,
        (see https://chromium-review.googlesource.com/c/v8/v8/+/1054618)
      
      Bug: v8:7753
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Iabd7627dbffa9a0eab1736064caf589d02591926
      Reviewed-on: https://chromium-review.googlesource.com/1054155
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53439}
      6d87d957
  4. 09 Apr, 2018 2 commits
  5. 06 Apr, 2018 2 commits
    • Michael Achenbach's avatar
      Revert "[cleanup] Refactor the Factory" · 503e07c3
      Michael Achenbach authored
      This reverts commit f9a2e24b.
      
      Reason for revert: gc stress failures not all fixed by follow up.
      
      Original change's description:
      > [cleanup] Refactor the Factory
      > 
      > There is no good reason to have the meat of most objects' initialization
      > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      > this CL changes the protocol between Heap and Factory to be AllocateRaw,
      > and all object initialization work after (possibly retried) successful
      > raw allocation happens in the Factory.
      > 
      > This saves about 20KB of binary size on x64.
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      > Reviewed-on: https://chromium-review.googlesource.com/959533
      > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52416}
      
      TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org
      
      Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52420}
      503e07c3
    • Jakob Kummerow's avatar
      [cleanup] Refactor the Factory · f9a2e24b
      Jakob Kummerow authored
      There is no good reason to have the meat of most objects' initialization
      logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead,
      this CL changes the protocol between Heap and Factory to be AllocateRaw,
      and all object initialization work after (possibly retried) successful
      raw allocation happens in the Factory.
      
      This saves about 20KB of binary size on x64.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca
      Reviewed-on: https://chromium-review.googlesource.com/959533
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52416}
      f9a2e24b
  6. 09 Mar, 2018 1 commit
  7. 15 Feb, 2018 1 commit
  8. 11 Dec, 2017 1 commit
    • Jeremy Roman's avatar
      Reland: Implement and use VectorSegment to avoid repeated allocation of ZoneVector properties. · d0142857
      Jeremy Roman authored
      The parser holds a single vector whose backing storage is reused in calls
      to ParseJsonObject, so that once we reach the peak number of unstored
      properties no more allocations are required.
      
      This improves performance of parsing inputs like those in Speedometer VanillaJS
      by about 2% in my local measurement, and would presumably do better on more
      pathological inputs.
      
      This should also have the side effect of reducing peak memory usage at this time
      slightly, since we do fewer zone allocations which cannot be freed until the
      parse finishes.
      
      Reland switches to use std::vector::data instead of operator[] to avoid an index
      check in debug MSVC. In such cases the out-of-bounds pointer cannot be
      dereferenced, so it is legal.
      
      Bug: chromium:771227
      Change-Id: I21837196372c904bfc799cd14353a73d11dcff32
      Reviewed-on: https://chromium-review.googlesource.com/804062Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Commit-Queue: Jeremy Roman <jbroman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49997}
      d0142857
  9. 30 Nov, 2017 1 commit
  10. 29 Nov, 2017 2 commits
  11. 28 Nov, 2017 1 commit
  12. 03 Nov, 2017 1 commit
  13. 31 May, 2016 1 commit
  14. 23 May, 2016 1 commit
  15. 01 Apr, 2016 1 commit
  16. 01 Mar, 2016 1 commit
  17. 18 Feb, 2016 1 commit
  18. 16 Feb, 2016 2 commits
  19. 10 Feb, 2016 1 commit
  20. 26 Jan, 2016 1 commit
    • jarin's avatar
      Replace HeapType with a non-templated FieldType class. · cfaeb63b
      jarin authored
      This replace HeapType with a dedicated class that implements just what we need for field type tracking. In the next CL, I plan to remove FieldType::Iterator because FieldType can iterate over at most one map.
      
      The ultimate plan is to get rid of templates in types.(h|cc) and remove type-inl.h.
      
      TBR=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1636013002
      
      Cr-Commit-Position: refs/heads/master@{#33521}
      cfaeb63b
  21. 16 Dec, 2015 1 commit
  22. 26 Nov, 2015 1 commit
  23. 30 Sep, 2015 1 commit
  24. 27 Aug, 2015 1 commit
  25. 24 Aug, 2015 1 commit
  26. 18 Aug, 2015 1 commit
  27. 12 Aug, 2015 1 commit
    • mstarzinger's avatar
      Remove inline header includes from non-inline headers (1). · 00a07bc1
      mstarzinger authored
      This tries to remove includes of "-inl.h" headers from normal ".h"
      headers, thereby reducing the chance of any cyclic dependencies and
      decreasing the average size of our compilation units.
      
      Note that this change still leaves 7 violations of that rule in the
      code. However there now is the "tools/check-inline-includes.sh" tool
      detecting such violations.
      
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1283033003
      
      Cr-Commit-Position: refs/heads/master@{#30125}
      00a07bc1
  28. 11 Aug, 2015 1 commit
    • mstarzinger's avatar
      Remove several grab-bag includes from the v8.h header. · 58109a2c
      mstarzinger authored
      This is the first step of turning the v8.h file into a normal header
      instead of an include-the-world header. The new rule is that no other
      header files are allowed to include v8.h, which is enforced by DEPS.
      
      Also the number of includes inside the v8.h file has been drastically
      reduced. Basically the last missing piece is the inclusion of the big
      objects-inl.h file.
      
      This in turn makes many headers follow the IWYU principle.
      
      R=bmeurer@chromium.org,hpayer@chromium.org,titzer@chromium.org
      
      Review URL: https://codereview.chromium.org/1282503003
      
      Cr-Commit-Position: refs/heads/master@{#30102}
      58109a2c
  29. 10 Aug, 2015 1 commit
    • mstarzinger's avatar
      [heap] Avoid overzealous inclusion of heap internal headers. · 65c8ecc6
      mstarzinger authored
      This is a first step towards constraining down the heap interface to
      just the heap.h file. Note that many includes still leak through that
      file to the global "src" directory, but there now is a single place
      controlling which declarations leak that way. Especially inclusion of
      inline header files within "heap" has been limited drastically.
      
      R=hpayer@chromium.org,mlippautz@chromium.org
      
      Review URL: https://codereview.chromium.org/1281233003
      
      Cr-Commit-Position: refs/heads/master@{#30092}
      65c8ecc6
  30. 12 Jun, 2015 2 commits
  31. 11 Jun, 2015 3 commits
  32. 08 Jun, 2015 1 commit
  33. 02 Jun, 2015 1 commit