1. 11 Jan, 2016 6 commits
  2. 09 Jan, 2016 1 commit
  3. 08 Jan, 2016 31 commits
  4. 07 Jan, 2016 2 commits
    • caitpotter88's avatar
      [promise] Make Promise.all match spec, and always respect [[AlreadyResolved]] · 7459d8ce
      caitpotter88 authored
      Testing the promise status is not enough to ensure that resolve functions are
      called only once.
      
      This change adds a similar version of the [[AlreadyResolved]] slot to the
      Promise.all resolve element function, and also ensures that [[AlreadyResolved]]
      is respected in the Promise executor, and when resolving thenables. This means
      replacing PromiseReject() shortcuts with promiseCapability.reject(), which has
      an [[AlreadyResolved]] record in a context slot.
      
      Also ensures that changes to the list accumulator in Promise.all() is not observable
      via accessors installed in the Array prototype chain, using the same mechanism used
      in several Array methods.
      
      Fixes the following Test262 tests:
      - built-ins/Promise/all/call-resolve-element-items.js
      - built-ins/Promise/all/call-resolve-element.js
      - built-ins/Promise/all/call-resolve-element-after-return.js
      - built-ins/Promise/all/same-reject-function.js
      - built-ins/Promise/all/resolve-from-same-thenable.js
      - built-ins/Promise/all/resolve-before-loop-exit.js
      - built-ins/Promise/all/resolve-before-loop-exit-from-same.js
      - built-ins/Promise/exception-after-resolve-in-executor.js
      - built-ins/Promise/exception-after-resolve-in-thenable-job.js
      - built-ins/Promise/all/does-not-invoke-array-setters.js
      
      BUG=v8:4633
      LOG=N
      R=littledan@chromium.org, cbruni@chromium.org
      
      Review URL: https://codereview.chromium.org/1534813005
      
      Cr-Commit-Position: refs/heads/master@{#33163}
      7459d8ce
    • littledan's avatar
      Revert of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #7... · adac5956
      littledan authored
      Revert of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #7 id:120001 of https://codereview.chromium.org/1551443002/ )
      
      Reason for revert:
      Causes frequent crashes in Canary: chromium:537816
      
      Original issue's description:
      > Ship ES2015 sloppy-mode function hoisting, let, class
      >
      > This patch doesn't ship all features of ES2015 variable/scoping
      > changes, notably omitting the removal of legacy const. I think
      > function hoisting, let and class in sloppy mode can stand to
      > themselves as a package, and the legacy const change is much
      > riskier and more likely to be reverted, so my intention is to
      > pursue those as a separate, follow-on patch.
      >
      > R=adamk@chromium.org
      > BUG=v8:4285,v8:3305
      > LOG=Y
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      >
      > Committed: https://crrev.com/fcff8588a5a01587643d6c2507c7b882c78a2957
      > Cr-Commit-Position: refs/heads/master@{#33133}
      
      TBR=adamk@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=v8:4285,v8:3305,chromium:537816
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1565263002
      
      Cr-Commit-Position: refs/heads/master@{#33162}
      adac5956