1. 12 Jul, 2018 1 commit
  2. 11 Jul, 2018 1 commit
  3. 04 Jul, 2018 1 commit
  4. 25 Jun, 2018 1 commit
  5. 21 Jun, 2018 1 commit
  6. 20 Jun, 2018 2 commits
  7. 11 Jun, 2018 1 commit
  8. 04 Jun, 2018 1 commit
  9. 01 Jun, 2018 2 commits
  10. 24 May, 2018 2 commits
  11. 17 May, 2018 1 commit
  12. 02 May, 2018 1 commit
  13. 16 Apr, 2018 1 commit
  14. 12 Apr, 2018 1 commit
  15. 09 Apr, 2018 1 commit
  16. 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
  17. 28 Feb, 2018 1 commit
  18. 10 Jan, 2018 1 commit
    • Timothy Gu's avatar
      [proxy] Set [[ProxyTarget]] to null during revocation · 5b9adade
      Timothy Gu authored
      Before this, only the [[ProxyHandler]] was set to null during revocation
      of the Proxy through either the v8::Proxy::Revoke() or the
      Proxy.revocable() API. To be consistent with the spec, the Proxy's
      target is set to null as well. This change should not be observable
      through JS, since the check for if the Proxy is revoked should always
      use the handler. But the changed value is exposed through the public
      v8::Proxy::GetTarget() API, which is used by the inspector API and
      Node.js.
      
      Also included is a much more comprehensive test for Inspector's support
      for Proxy, which prior to this commit did not work as intended.
      
      Bug: 
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I727607ec2b3cea8642cd636573932c1e6bb5cc07
      Reviewed-on: https://chromium-review.googlesource.com/854676
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50476}
      5b9adade
  19. 08 Dec, 2017 1 commit
  20. 25 Oct, 2017 1 commit
    • Jakob Kummerow's avatar
      [bigint] Fix abstract equality with junk strings · 98df94cd
      Jakob Kummerow authored
      Abstract equality comparison of a BigInt and a String converts the
      latter to BigInt. This conversion can fail; since we do not want to
      pass a context to the comparison function, we must signal such failure
      without throwing an exception.
      This CL uses the existing ShouldThrow enum to configure behavior of
      String-to-BigInt conversion, moving it out of Object into globals.h.
      
      Bug: v8:6791, v8:6979
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ibb98675079b8392cf03bbcbbbd5556108500a32d
      Reviewed-on: https://chromium-review.googlesource.com/734172
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48946}
      98df94cd
  21. 18 Oct, 2017 1 commit
  22. 12 Sep, 2017 1 commit
  23. 06 Sep, 2017 1 commit
  24. 05 Sep, 2017 1 commit
    • Franziska Hinkelmann's avatar
      [api] Use query interceptor in Object.keys(). · 43bb2778
      Franziska Hinkelmann authored
      The V8 API provides interceptors. They are not part of the
      EcmaScript specification. But their behavior should be consistent.
      For example, when an EnumeratorInterceptor is defined, Object.keys(),
      Object.entries(), and Object.values() should all have the
      same number of entries.
      
      This CL creates consistent behavior among these
      functions. If a QueryCallback is present, it is used to
      filter the result from the EnumeratorCallback for
      enumerable properties.
      
      Bug: v8:6627
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I4f4271ddeb99a5e85918148c5033923c149b9468
      Reviewed-on: https://chromium-review.googlesource.com/649786Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47831}
      43bb2778
  25. 30 Aug, 2017 1 commit
    • Benedikt Meurer's avatar
      [cleanup] Unify enum cache handling. · 562663d5
      Benedikt Meurer authored
      Introduce a proper empty_descriptor_array, which has the proper layout
      (length is 2 and the two fields are set properly). Also add a special
      EnumCache class and a matching empty_enum_cache. The contract now is
      that we only need to check the EnumLength on the map to know whether we
      are allowed to use the enum cache. This greatly simplifies the handling
      of the enum cache (and also the descriptor arrays), especially for the
      future work on optimizing keyed access via the enum cache indices.
      
      Bug: v8:6702
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I5ef517a3041163cd65ef003f691139ea52233e83
      Reviewed-on: https://chromium-review.googlesource.com/641030
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47697}
      562663d5
  26. 22 Aug, 2017 1 commit
  27. 18 Aug, 2017 1 commit
    • Franziska Hinkelmann's avatar
      [api] Use query interceptor in Object.keys(). · b6059a67
      Franziska Hinkelmann authored
      The V8 API provides interceptors. They are not part of the
      EcmaScript specification. But their behavior should be consistent.
      For example, when an EnumeratorInterceptor is defined, Object.keys(),
      Object.entries(), and Object.values() should all have the
      same number of entries.
      
      This CL creates consistent behavior among these
      functions. If a QueryCallback is present, it is used to
      filter the result from the EnumeratorCallback for
      enumerable properties.
      
      Bug: v8:6627
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ie51e69bb77099d9fafc4b1ea02671eced610edba
      Reviewed-on: https://chromium-review.googlesource.com/609068Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47442}
      b6059a67
  28. 11 Jul, 2017 1 commit
  29. 09 Jun, 2017 1 commit
  30. 14 Mar, 2017 1 commit
  31. 22 Feb, 2017 1 commit
  32. 18 Jan, 2017 1 commit
    • cbruni's avatar
      [keys] Make for-in great again. · 6c7d51c2
      cbruni authored
      This CL fixes the check for empty elements in keys.cc. Previously we would
      accidentally bail out of the fast path because the check would always fail.
      As a consequence for-in loops that would initialize the enum-cache of an object
      with own-only fast properties would never be optimized properly.
      
      Review-Url: https://codereview.chromium.org/2638323002
      Cr-Commit-Position: refs/heads/master@{#42454}
      6c7d51c2
  33. 12 Jan, 2017 1 commit
  34. 17 Oct, 2016 1 commit
  35. 07 Oct, 2016 2 commits