1. 19 Jun, 2017 14 commits
  2. 17 Jun, 2017 1 commit
  3. 16 Jun, 2017 19 commits
  4. 15 Jun, 2017 6 commits
    • Adam Klein's avatar
      Revert "[builtins] Move most WeakMap/WeakSet code from JS to C++ builtins" · 431abca0
      Adam Klein authored
      This reverts commit 8196e102.
      
      Reason for revert: Performance regression due to hashcode lookup.
      
      Original change's description:
      > [builtins] Move most WeakMap/WeakSet code from JS to C++ builtins
      > 
      > They were already implemented mostly in C++ (only error/negative
      > cases were handled in script), so this is mostly just a cleanup.
      > Only the constructors remain in script after this CL.
      > 
      > Bug: v8:6354
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I5b3579337a8e33dc30d49c2da5cfd42baec697bb
      > Reviewed-on: https://chromium-review.googlesource.com/531670
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
      > Commit-Queue: Adam Klein <adamk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45924}
      
      TBR=adamk@chromium.org,cbruni@chromium.org,gsathya@chromium.org
      Bug: v8:6354, chromium:733238
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      
      Change-Id: Ia5a741b9587886298f3ca057f6a6adeba556b8e0
      Reviewed-on: https://chromium-review.googlesource.com/537207Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45966}
      431abca0
    • Sathya Gunasekaran's avatar
      [parser] Better error message when destructuring against undefined/null · bc2c785c
      Sathya Gunasekaran authored
      Previously, when destructuring against null or undefined we would
      print:
      
        d8> var { x } = null
        (d8):1: TypeError: Cannot match against 'undefined' or 'null'.
        var { x } = null
        ^
        TypeError: Cannot match against 'undefined' or 'null'.
            at (d8):1:1
      
      
      The above message uses the term "match" which isn't a common term in
      JavaScript to describe destructuring. This message also doesn't
      provide the name of the property that fails destructuring.
      
      This patch changes the error message to be:
      
        d8> var { x } = null;
        (d8):1: TypeError: Cannot destructure property `x` of 'undefined' or 'null'.
        var { x } = null;
              ^
        TypeError: Cannot destructure property `x` of 'undefined' or 'null'.
            at (d8):1:1
      
      This patch changes the message to say "destructure" instead of "match".
      
      This patch adds support for printing property names that are string
      literals. We iterate through every property and pick the first string
      literal property name if it exists. This provides at least some
      feedback to the developer.
      
      This patch also makes the pointer point to the position of the
      property name that fails destructuring.
      
      For computed and numeric property names, we print a generic error:
        d8> var { 1: x } = null
        (d8):1: TypeError: Cannot destructure against 'undefined' or 'null'.
        var { 1: x } = null
        ^
        TypeError: Cannot destructure against 'undefined' or 'null'.
            at (d8):1:1
      
      Bug: v8:6499
      Change-Id: I35b1ac749489828686f042975294b9926e2dfc53
      Reviewed-on: https://chromium-review.googlesource.com/537341Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45965}
      bc2c785c
    • Adam Klein's avatar
      [bootstrapper|cleanup] Simplify creation of Atomics object · 390ad8c5
      Adam Klein authored
      The Atomics object is a normal object, just like Math, JSON, etc., so
      we should be able to set it up in the same way those are set up
      since cff5470a.
      
      Change-Id: I46a9ba990707c0659f1a62f628b2c69204e536f8
      Reviewed-on: https://chromium-review.googlesource.com/537076Reviewed-by: 's avatarBen Smith <binji@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45964}
      390ad8c5
    • Adam Klein's avatar
      [cleanup] Modernize creation of JSON, Math, and Intl objects · cff5470a
      Adam Klein authored
      Before this patch, those builtin objects all used a strange-looking
      pattern for creation that involved creating a new constructor
      function (likely in order to get their ES5 [[Class]] set
      appropriately).
      
      But in modern times, with @@toStringTag as the mechanism of returning
      the correct toString value, there should be no need for those extra
      hoops, so simply use the Object constructor instead.
      
      Change-Id: Id841dace26bf71f73ec25a71f1297d502438b27c
      Reviewed-on: https://chromium-review.googlesource.com/533922
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45963}
      cff5470a
    • Adam Klein's avatar
      [runtime|cleanup] Remove implementation of unreachable runtime functions · 405fafb8
      Adam Klein authored
      Change-Id: Ie4d21d2fc10db40efb42d66c9438ce3f3f01ce79
      Reviewed-on: https://chromium-review.googlesource.com/533804Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45962}
      405fafb8
    • Georg Neis's avatar
      [modules] Fix setting variables via debug-scopes. · e53fdff9
      Georg Neis authored
      I incorrectly assumed that ScopeIterator::SetModuleVariableValue gets called
      when the frame is the module function.
      
      R=jgruber@chromium.org, kozyatinskiy@chromium.org
      
      Bug: v8:1569, v8:6484
      Change-Id: I1fbad8ccde57280149547c78e679527f7a0c89dd
      Reviewed-on: https://chromium-review.googlesource.com/535620Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45961}
      e53fdff9