1. 18 Mar, 2016 1 commit
  2. 16 Mar, 2016 1 commit
    • littledan's avatar
      Ship ES2015 restrictions on function declaration locations · f9db79eb
      littledan authored
      Function declarations were previously permitted by V8 in many locations
      which no ECMAScript specification allowed; the ECMAScript 2015 spec
      enumerates a few locations (in blocks, as well as after labels and in
      conditionals when in sloppy mode). This patch ships the flag to restrict
      the usage of function declarations to those contexts.
      
      R=adamk
      LOG=Y
      BUG=v8:4824
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1799233003
      
      Cr-Commit-Position: refs/heads/master@{#34828}
      f9db79eb
  3. 02 Mar, 2016 1 commit
  4. 11 Jan, 2016 1 commit
    • littledan's avatar
      Ship ES2015 sloppy-mode const semantics · 95145fa8
      littledan authored
      This patch moves the semantics of 'const' in sloppy mode to match those
      in strict mode, that is, const makes lexical (let-like) bindings, must
      have an initializer, and does not create properties of the global object.
      
      R=adamk
      LOG=Y
      BUG=v8:3305
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1571873004
      
      Cr-Commit-Position: refs/heads/master@{#33218}
      95145fa8
  5. 08 Jan, 2016 1 commit
    • littledan's avatar
      Reland of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #1... · 23235b5f
      littledan authored
      Reland of Ship ES2015 sloppy-mode function hoisting, let, class (patchset #1 id:1 of https://codereview.chromium.org/1565263002/ )
      
      Reason for revert:
      Crash fixed by https://codereview.chromium.org/1564923007
      
      Original issue's description:
      > 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
      >
      > Committed: https://crrev.com/adac5956c6216056a211cfaa460a00ac1500d8f8
      > Cr-Commit-Position: refs/heads/master@{#33162}
      
      TBR=adamk@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4285,v8:3305,chromium:537816
      
      Review URL: https://codereview.chromium.org/1571793002
      
      Cr-Commit-Position: refs/heads/master@{#33189}
      23235b5f
  6. 07 Jan, 2016 1 commit
    • 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
  7. 06 Jan, 2016 1 commit
    • littledan's avatar
      Ship ES2015 sloppy-mode function hoisting, let, class · fcff8588
      littledan authored
      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
      
      Review URL: https://codereview.chromium.org/1551443002
      
      Cr-Commit-Position: refs/heads/master@{#33133}
      fcff8588
  8. 22 Dec, 2015 3 commits
    • littledan's avatar
      Reland of Add web compat workarounds for ES2015 RegExp semantics (patchset #3... · 424ef009
      littledan authored
      Reland of Add web compat workarounds for ES2015 RegExp semantics (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ )
      
      Unexpectedly, websites depend on doing feature testing with
      RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      ES2015 newly throws exceptions for both of these. In order to enable shipping
      new ES2015 semantics, this patch puts in narrow workarounds for those two
      cases, keeping their old behavior. UseCounters are added for how often
      those particular cases come up, so we can see if it can be deprecated.
      
      This reland replaces problematic legacy const usage with var, to
      avoid issues with nosnap builds.
      
      R=yangguo
      CC=bmeurer
      BUG=v8:4637,v8:4617
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1545633002
      
      Cr-Commit-Position: refs/heads/master@{#33002}
      424ef009
    • bmeurer's avatar
      Revert of Add web compat workarounds for ES2015 RegExp semantics (patchset #3... · 08a1d1a2
      bmeurer authored
      Revert of Add web compat workarounds for ES2015 RegExp semantics (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ )
      
      Reason for revert:
      Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/5883
      
      Original issue's description:
      > Add web compat workarounds for ES2015 RegExp semantics
      >
      > Unexpectedly, websites depend on doing feature testing with
      > RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      > ES2015 newly throws exceptions for both of these. In order to enable shipping
      > new ES2015 semantics, this patch puts in narrow workarounds for those two
      > cases, keeping their old behavior. UseCounters are added for how often
      > those particular cases come up, so we can see if it can be deprecated.
      >
      > R=yangguo
      > BUG=v8:4637,v8:4617
      > LOG=Y
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      >
      > Committed: https://crrev.com/98f819c3e0c92d54a306cdacadda73cf96d21b52
      > Cr-Commit-Position: refs/heads/master@{#32997}
      
      TBR=yangguo@google.com,yangguo@chromium.org,littledan@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4637,v8:4617
      
      Review URL: https://codereview.chromium.org/1546493003
      
      Cr-Commit-Position: refs/heads/master@{#32999}
      08a1d1a2
    • littledan's avatar
      Add web compat workarounds for ES2015 RegExp semantics · 98f819c3
      littledan authored
      Unexpectedly, websites depend on doing feature testing with
      RegExp.prototype.sticky and browser testing with RegExp.prototype.toString().
      ES2015 newly throws exceptions for both of these. In order to enable shipping
      new ES2015 semantics, this patch puts in narrow workarounds for those two
      cases, keeping their old behavior. UseCounters are added for how often
      those particular cases come up, so we can see if it can be deprecated.
      
      R=yangguo
      BUG=v8:4637,v8:4617
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1543723002
      
      Cr-Commit-Position: refs/heads/master@{#32997}
      98f819c3
  9. 17 Dec, 2015 3 commits
    • Benedikt Meurer's avatar
      [es6] Correct Function.prototype.apply, Reflect.construct and Reflect.apply. · 5bd48324
      Benedikt Meurer authored
      Introduce a new Apply builtin that forms a correct and optimizable
      foundation for the Function.prototype.apply, Reflect.construct and
      Reflect.apply builtins (which properly does the PrepareForTailCall
      as required by the ES2015 spec).
      
      The new Apply builtin avoids going to the runtime if it is safe to
      just access the backing store elements of the argArray, i.e. if you
      pass a JSArray with no holes, or an unmapped, unmodified sloppy or
      strict arguments object.
      
      mips/mips64 ports by Balazs Kilvady <balazs.kilvady@imgtec.com>
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_tsan_rel
      BUG=v8:4413, v8:4430
      LOG=n
      R=yangguo@chromium.org
      
      Committed: https://chromium.googlesource.com/v8/v8/+/e4d2538911f6cb4b626830ccbb3c1f5746542697
      
      Review URL: https://codereview.chromium.org/1523753002 .
      
      Cr-Commit-Position: refs/heads/master@{#32929}
      5bd48324
    • Benedikt Meurer's avatar
      Revert of [es6] Correct Function.prototype.apply, Reflect.construct and... · 567c24d9
      Benedikt Meurer authored
      Revert of [es6] Correct Function.prototype.apply, Reflect.construct and Reflect.apply. (patchset #5 id:80001 of https://codereview.chromium.org/1523753002/ )
      
      Reason for revert:
      Breaks TSAN somewhow: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/7000
      
      Original issue's description:
      > [es6] Correct Function.prototype.apply, Reflect.construct and Reflect.apply.
      >
      > Introduce a new Apply builtin that forms a correct and optimizable
      > foundation for the Function.prototype.apply, Reflect.construct and
      > Reflect.apply builtins (which properly does the PrepareForTailCall
      > as required by the ES2015 spec).
      >
      > The new Apply builtin avoids going to the runtime if it is safe to
      > just access the backing store elements of the argArray, i.e. if you
      > pass a JSArray with no holes, or an unmapped, unmodified sloppy or
      > strict arguments object.
      >
      > mips/mips64 ports by Balazs Kilvady <balazs.kilvady@imgtec.com>
      >
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      > BUG=v8:4413, v8:4430
      > LOG=n
      > R=yangguo@chromium.org
      >
      > Committed: https://chromium.googlesource.com/v8/v8/+/e4d2538911f6cb4b626830ccbb3c1f5746542697
      
      TBR=yangguo@chromium.org,paul.lind@imgtec.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4413, v8:4430
      
      Review URL: https://codereview.chromium.org/1533803002 .
      
      Cr-Commit-Position: refs/heads/master@{#32928}
      567c24d9
    • Benedikt Meurer's avatar
      [es6] Correct Function.prototype.apply, Reflect.construct and Reflect.apply. · e4d25389
      Benedikt Meurer authored
      Introduce a new Apply builtin that forms a correct and optimizable
      foundation for the Function.prototype.apply, Reflect.construct and
      Reflect.apply builtins (which properly does the PrepareForTailCall
      as required by the ES2015 spec).
      
      The new Apply builtin avoids going to the runtime if it is safe to
      just access the backing store elements of the argArray, i.e. if you
      pass a JSArray with no holes, or an unmapped, unmodified sloppy or
      strict arguments object.
      
      mips/mips64 ports by Balazs Kilvady <balazs.kilvady@imgtec.com>
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=v8:4413, v8:4430
      LOG=n
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1523753002 .
      
      Cr-Commit-Position: refs/heads/master@{#32927}
      e4d25389
  10. 10 Dec, 2015 1 commit
    • neis's avatar
      JSON.parse: properly deal with reviver result · a5380fe9
      neis authored
      When the reviver returns undefined, the property in question must be deleted
      even for arrays.  So far this only happened for non-array objects.
      
      Also change the property enumeration to be spec-conformant, which is observable when the reviver modifies its "this" object directly.  There are a few further issues that need to be addressed in a separate CL.
      
      R=yangguo@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1506933003
      
      Cr-Commit-Position: refs/heads/master@{#32750}
      a5380fe9
  11. 09 Dec, 2015 1 commit
  12. 02 Dec, 2015 1 commit
  13. 03 Nov, 2015 1 commit
  14. 23 Oct, 2015 1 commit
  15. 14 Oct, 2015 1 commit
  16. 09 Oct, 2015 1 commit
  17. 25 Aug, 2015 1 commit
    • bmeurer's avatar
      Correctify instanceof and make it optimizable. · 5d875a57
      bmeurer authored
      The previous hack with HInstanceOfKnownGlobal was not only slower,
      but also very brittle and required a lot of weird hacks to support it. And
      what's even more important it wasn't even correct (because a map check
      on the lhs is never enough for instanceof).
      
      The new implementation provides a sane runtime implementation
      for InstanceOf plus a fast case in the InstanceOfStub, combined with
      a proper specialization in the case of a known global in CrankShaft,
      which does only the prototype chain walk (coupled with a code
      dependency on the known global).
      
      As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf
      implementation.
      
      BUG=v8:4376
      LOG=y
      
      Review URL: https://codereview.chromium.org/1304633002
      
      Cr-Commit-Position: refs/heads/master@{#30342}
      5d875a57
  18. 15 Aug, 2015 1 commit
    • caitpotter88's avatar
      [parser] make kInvalidLhsInFor a SyntaxError · 9b15445e
      caitpotter88 authored
      Second item in section 13.7.5.1 states that the error should be a
      SyntaxError, when previously CheckAndRewriteReferenceExpression
      would always emit a ReferenceError.
      
      BUG=v8:4373
      R=adamk, rossberg
      LOG=N
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1292393002
      
      Cr-Commit-Position: refs/heads/master@{#30184}
      9b15445e
  19. 13 Aug, 2015 1 commit
  20. 28 Jul, 2015 1 commit
  21. 14 Jul, 2015 1 commit
  22. 10 Jul, 2015 1 commit
  23. 23 Jun, 2015 1 commit
    • littledan's avatar
      Re-ship Harmony Array/TypedArray methods · 325fbd0e
      littledan authored
      Turning the --harmony-array flag on has been delayed behind
      unrelated test failures. Now that those tests are disabled,
      land the changes.
      
      This patch fixes WebKit tests based on the new change.
      
      R=adamk
      LOG=Y
      BUG=v8:3578
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1199113003
      
      Cr-Commit-Position: refs/heads/master@{#29209}
      325fbd0e
  24. 22 Jun, 2015 3 commits
  25. 20 Jun, 2015 2 commits
  26. 19 Jun, 2015 1 commit
  27. 18 Jun, 2015 2 commits
  28. 02 Jun, 2015 1 commit
  29. 09 Apr, 2015 1 commit
  30. 13 Mar, 2015 1 commit
  31. 21 Jan, 2015 1 commit
  32. 08 Jan, 2015 1 commit