1. 14 Feb, 2019 1 commit
  2. 13 Feb, 2019 2 commits
  3. 12 Feb, 2019 1 commit
  4. 11 Feb, 2019 1 commit
  5. 08 Feb, 2019 1 commit
    • Matheus Marchini's avatar
      Reland "[error] extend error stack w/ function parameters" · 3724a125
      Matheus Marchini authored
      This is a reland of 97628eee.
      
      Original change's description:
      > [error] extend error stack w/ function parameters
      >
      > Extend FrameArray to hold weak references to parameters forfunctions in
      > the call stack. The goal here is to provide more metadata for postmortem
      > tools (such as llnode), especially in cases of rethrowing (this will be
      > particularly useful when using postmortem with promises on Node.js).
      >
      > Besides postmortem, these changes allow us to print a more detailed
      > stack trace for errors with parameters types (or even values), which can
      > be useful since JavaScript functions can receive any number of
      > parameters of any type, and having a function behave differently
      > according to the number of parameters received as well as their types is
      > a common pattern on JS libraries and frameworks.
      >
      > R=<U+200B>bmeurer@google.com, yangguo@google.com
      >
      > Change-Id: Idf0984d0dbac16041f11d738d4b1c095a8eecd61
      > Reviewed-on: https://chromium-review.googlesource.com/c/1289489
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58468}
      
      R=bmeurer@google.com, jkummerow@chromium.org, yangguo@google.com
      
      Change-Id: I53d90bb862d9c5e9541116b375fa4de70e3e76dd
      Reviewed-on: https://chromium-review.googlesource.com/c/1405568
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59458}
      3724a125
  6. 07 Feb, 2019 2 commits
    • Ulan Degenbaev's avatar
      [heap] Rework incremental marking scheduling · 4c65986a
      Ulan Degenbaev authored
      The new scheduling reduces the main thread marking performed in
      tasks and on allocation. It is based on two counters:
      - bytes_marked,
      - scheduled_bytes_to_mark.
      
      The bytes_marked accounts marking done both the main thread and
      the concurrent threads. The scheduled_bytes_to_mark increases based
      on allocated bytes and also based on time passed since the start
      of marking. The main thread steps are allowed to mark the minimal
      amount if bytes_marked is greater than scheduled_bytes_to_mark.
      
      This also changes tasks posted for marking. Before only normal
      tasks were posted. Now delayed tasks are posted if the marker is
      ahead of schedule.
      
      Bug: 926189
      
      Change-Id: I5bc9c33a5ecfc9f8d09f78d08ae277d16a2779ca
      Reviewed-on: https://chromium-review.googlesource.com/c/1443056
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59433}
      4c65986a
    • Ulan Degenbaev's avatar
      [heap] Fix tests for young large objects · cbcbb059
      Ulan Degenbaev authored
      Some tests assume that kMaxRegularHeapObjectSize is close to the
      page size. They break if the constant is decreased to 16KB to stress
      young large objects.
      
      Bug: chromium:852420
      Change-Id: I2542878810823f7a73019b1e451a080fcfc1f78f
      Reviewed-on: https://chromium-review.googlesource.com/c/1456043Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59430}
      cbcbb059
  7. 05 Feb, 2019 1 commit
  8. 01 Feb, 2019 1 commit
  9. 30 Jan, 2019 1 commit
  10. 29 Jan, 2019 2 commits
    • Michael Lippautz's avatar
      [api, global-handles] Add TracedGlobal · 76c93685
      Michael Lippautz authored
      TracedGlobal integrates with the use case of EmbedderHeapTracer and replaces
      regular weak Global or Persistent nodes for such cases. This allows to simplify
      the case for regular weak handles in a sense that they follow regular weak
      semantics (if the underlying object is otherwise unreachable the weak handle
      will be reset).
      
      TracedGlobal requires slightly different semantics in the sense that it can be
      required to keep them alive on Scavenge garbage collections because there's a
      transitive path that is only known when using the EmbedderHeapTracer.
      TracedGlobal accomodates that use case.
      
      TracedGlobal follows move semantics and can thus be used in regular std
      containers without wrapping data structure.
      
      The internal state uses 20% less memory and allows for only iterating those
      nodes when necessary. The design trades the virtual call when iterating
      interesting persistents in the GC prologue with calling out through the
      EmbedderHeapTracer for each node which is also a virtual call. There is one less
      iteration over the set of handles required though and the design is robust
      against recursive GCs that mutate the embedder state during the prologue
      callback.
      
      Bug: chromium:923361
      Change-Id: Idbacfbe4723cd12af9de21058a4792e51dc4df74
      Reviewed-on: https://chromium-review.googlesource.com/c/1425523
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59183}
      76c93685
    • Ulan Degenbaev's avatar
      [heap] Refactor usages of the InNewSpace() predicate · 2423deb5
      Ulan Degenbaev authored
      This replaces InNewSpace with InYoungGeneration, which is
      a prerequisite for young large objects.
      
      Additional changes:
      - FROM_SPACE, TO_SPACE flags are renamed to FROM_PAGE, TO_PAGE.
      - A new LARGE_PAGE flag is added.
      - The external string table is refactored to track young string
        instead of new space strings.
      
      Bug: chromium:924547
      Change-Id: Ia4e3ba1b72995c3400257a1f98559f091533e811
      Reviewed-on: https://chromium-review.googlesource.com/c/1437274Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59156}
      2423deb5
  11. 25 Jan, 2019 2 commits
  12. 24 Jan, 2019 1 commit
    • Mythri's avatar
      Reland "Change SetProperty/SetSuperProperty to infer language mode when possible" · e2846ea6
      Mythri authored
      This is a reland of 0896599f with a fix for
      failing layout test.
      
      Original change's description:
      > Change SetProperty/SetSuperProperty to infer language mode when possible
      >
      > In most cases, the language mode can be inferred from the closure and
      > the context. Computing the language mode instead of passing it around
      > simplifies the ICs and will make it possible to go towards lazily
      > allocating feedback vectors. Currently ICs obtain the language mode from
      > the feedback vectors and with lazy feedback allocation we may not always
      > have feedback vectors. Since computing language mode is a bit expensive
      > we want to defer it as far as possible.
      >
      > In Array builtins and other builtins like Reflect.Set we need to force a
      > language mode when setting the properties. To support these cases the
      > SetProperty methods allow the language mode to be overridden when needed.
      >
      > This is a first cl in a series of cls, that will defer the language mode
      > computation further and remove language mode where it is not needed.
      >
      > BUG: v8:8580
      > Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1409426
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Mythri Alle <mythria@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58893}
      
      TBR: ahaas@chromium.org
      Change-Id: Id5d81eae91b55638dbc72168f0e5203e684869fb
      Reviewed-on: https://chromium-review.googlesource.com/c/1421077
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59075}
      e2846ea6
  13. 22 Jan, 2019 3 commits
  14. 18 Jan, 2019 2 commits
    • Ulan Degenbaev's avatar
      Reland "[heap] Remove bailout marking worklist." · 8b3fbe1d
      Ulan Degenbaev authored
      This reverts commit 13e07389.
      
      Original change's description:
      > [heap] Remove bailout marking worklist.
      >
      > The concurrent marker can now process all objects.
      > This patch also eagerly visits the objects that undergo layout
      > changes. This is because previously such objects were pushed
      > onto the bailout worklist, which is gone now.
      > To preserve the incremental step accounting, the patch introduces
      > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE.
      >
      > Bug: v8:8486
      > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f
      > Reviewed-on: https://chromium-review.googlesource.com/c/1386486
      > Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58712}
      
      Change-Id: I85c99837819f6971c248198bd51ad40eebdb4fac
      Reviewed-on: https://chromium-review.googlesource.com/c/1417595Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58913}
      8b3fbe1d
    • Maya Lekova's avatar
      Revert "Change SetProperty/SetSuperProperty to infer language mode when possible" · 697885b9
      Maya Lekova authored
      This reverts commit 0896599f.
      
      Reason for revert: Speculative revert, seems to cause a layout test failure blocking the LKGR - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/29320
      
      Original change's description:
      > Change SetProperty/SetSuperProperty to infer language mode when possible
      > 
      > In most cases, the language mode can be inferred from the closure and
      > the context. Computing the language mode instead of passing it around
      > simplifies the ICs and will make it possible to go towards lazily
      > allocating feedback vectors. Currently ICs obtain the language mode from
      > the feedback vectors and with lazy feedback allocation we may not always
      > have feedback vectors. Since computing language mode is a bit expensive
      > we want to defer it as far as possible.
      > 
      > In Array builtins and other builtins like Reflect.Set we need to force a
      > language mode when setting the properties. To support these cases the
      > SetProperty methods allow the language mode to be overridden when needed.
      > 
      > This is a first cl in a series of cls, that will defer the language mode
      > computation further and remove language mode where it is not needed.
      > 
      > BUG: v8:8580
      > Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1409426
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Mythri Alle <mythria@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58893}
      
      TBR=mlippautz@chromium.org,mythria@chromium.org,jgruber@chromium.org,verwaest@chromium.org
      
      Change-Id: I2e0f80a4577a8ca86c05a62205f9dfa488418a52
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/1420758Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58911}
      697885b9
  15. 17 Jan, 2019 3 commits
  16. 15 Jan, 2019 2 commits
  17. 14 Jan, 2019 1 commit
    • Ulan Degenbaev's avatar
      Revert "[heap] Remove bailout marking worklist." · 13e07389
      Ulan Degenbaev authored
      This reverts commit 68a8bdd8.
      
      Reason for revert: memory regression: crbug.com/921239
      
      Original change's description:
      > [heap] Remove bailout marking worklist.
      > 
      > The concurrent marker can now process all objects.
      > This patch also eagerly visits the objects that undergo layout
      > changes. This is because previously such objects were pushed
      > onto the bailout worklist, which is gone now.
      > To preserve the incremental step accounting, the patch introduces
      > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE.
      > 
      > Bug: v8:8486
      > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f
      > Reviewed-on: https://chromium-review.googlesource.com/c/1386486
      > Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58712}
      
      TBR=ulan@chromium.org,mlippautz@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:8486, chromium:921239
      Change-Id: I1f851b948f4ce403316e469999f0b16e8dfdb62d
      Reviewed-on: https://chromium-review.googlesource.com/c/1408990
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58787}
      13e07389
  18. 10 Jan, 2019 1 commit
    • Ulan Degenbaev's avatar
      [heap] Remove bailout marking worklist. · 68a8bdd8
      Ulan Degenbaev authored
      The concurrent marker can now process all objects.
      This patch also eagerly visits the objects that undergo layout
      changes. This is because previously such objects were pushed
      onto the bailout worklist, which is gone now.
      To preserve the incremental step accounting, the patch introduces
      a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE.
      
      Bug: v8:8486
      Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f
      Reviewed-on: https://chromium-review.googlesource.com/c/1386486
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58712}
      68a8bdd8
  19. 08 Jan, 2019 1 commit
  20. 07 Jan, 2019 1 commit
    • peterwmwong's avatar
      [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque · 263dce9b
      peterwmwong authored
      - Removes the last `CORE` JS native script: `prologue.js`.
      - Removes build step and bootstrapping associated with building/loading `CORE` JS natives.
      - Removes `natives_utils_object` from context.
      - Deprecates `--expose-natives-as` flag.
      - Ports extra utils functions to C++ (`uncurryThis`) or Torque
        (`createPrivateSymbol`, `markPromiseAsHandled`, and `promiseState`).
      - Move extra utils constants initialization into bootstrapper
        (`kPROMISE_PENDING`, `kPROMISE_FULFILLED`, `kPROMISE_REJECTED`).
      - Removes unused extra utils functions `log` and `logStackTrace`.
      
      Drive-by: Added test coverage for Array#includes being an unscopeable.
      
      Bug: v8:7624
      Change-Id: I5d983f8d11b76cb4dd3c2c67592ce1dc88364cd9
      Reviewed-on: https://chromium-review.googlesource.com/c/1381672Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
      Cr-Commit-Position: refs/heads/master@{#58577}
      263dce9b
  21. 26 Dec, 2018 3 commits
  22. 21 Dec, 2018 1 commit
  23. 20 Dec, 2018 1 commit
  24. 19 Dec, 2018 5 commits