1. 31 Jan, 2017 1 commit
    • jwolfe's avatar
      Enable --harmony-trailing-commas · ea96fdec
      jwolfe authored
      Also updated some tests due to the change. The general pattern is when a
      trailing comma is expected to cause a SyntaxError, an additional comma was
      added.
      
      BUG=v8:5051
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
      
      Review-Url: https://codereview.chromium.org/2638513002
      Cr-Commit-Position: refs/heads/master@{#42826}
      ea96fdec
  2. 19 Jan, 2017 1 commit
  3. 22 Dec, 2016 1 commit
  4. 21 Dec, 2016 1 commit
  5. 20 Dec, 2016 2 commits
  6. 07 Dec, 2016 1 commit
    • jwolfe's avatar
      Change error messages for octal escape sequences · 089e4fd3
      jwolfe authored
      When an octal escape sequence is in a string in strict mode:
      - Octal literals are not allowed in strict mode.
      + Octal escape sequences are not allowed in strict mode.
      
      When an octal escape sequence is in a template string:
      - Octal literals are not allowed in template strings.
      + Octal escape sequences are not allowed in template strings.
      
      BUG=v8:4973
      CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
      
      Review-Url: https://codereview.chromium.org/2551633002
      Cr-Commit-Position: refs/heads/master@{#41560}
      089e4fd3
  7. 02 Dec, 2016 1 commit
    • mstarzinger's avatar
      [compiler] Make --debug-code the default in debug builds. · 651c1b86
      mstarzinger authored
      This enables {FLAG_debug_code} by default in debug builds. The advantage
      is that generated code contained within the snapshot will contain such
      debug code. Before we would only get coverage for these pieces with the
      no-snapshot builds, which have a meager coverage. One can still pass the
      inverse --no-debug-code flag to ensure generated code remains readable
      within debug builds as well.
      
      R=machenbach@chromium.org
      
      Review-Url: https://codereview.chromium.org/2528913002
      Cr-Commit-Position: refs/heads/master@{#41451}
      651c1b86
  8. 24 Nov, 2016 1 commit
  9. 18 Nov, 2016 1 commit
    • marja's avatar
      Remove FLAG_min_preparse_length. · 4a5b7e32
      marja authored
      It originates from the era where we used to run a separate preparse step
      before parsing and store the function data. Now the usage of preparser
      is something completely different, so this flag doesn't make sense any
      more.
      
      In addition, this way we get more test coverage for preparser (for small
      scripts).
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2513563002
      Cr-Commit-Position: refs/heads/master@{#41110}
      4a5b7e32
  10. 04 Nov, 2016 2 commits
  11. 15 Sep, 2016 1 commit
  12. 29 Aug, 2016 1 commit
    • bgeron's avatar
      [turbofan] Also inline into try blocks. · 791118fc
      bgeron authored
      This removes test/webkit/fast/js/stack-overflow-arrity-catch.js, which tests that the stack overflows in a very particular way. It doesn't seem to test anything important, and only used to work because we didn't inline into try-blocks.
      
      BUG=
      R=jarin
      
      Review-Url: https://codereview.chromium.org/2216353002
      Cr-Commit-Position: refs/heads/master@{#38976}
      791118fc
  13. 17 Aug, 2016 1 commit
  14. 22 Jul, 2016 1 commit
    • jwolfe's avatar
      Adjust whitespace to make tests oblivious to --harmony-function-tostring · 3cfd80d6
      jwolfe authored
      See discussion in https://codereview.chromium.org/2156303002/#msg8
      
      With the new --harmony-function-tostring behavior, these tests would
      fail without this change. This change makes the tests pass regardless
      of whether or not --harmony-function-tostring is used.
      
      All of these changes are simply inserting a space after the "function"
      keyword to match the current function toString behavior. When
      --harmony-function-tostring is enabled, the toString behavior matches
      the spacing used in the function declaration. With the declaration
      matching the current formatting, the toString behavior becomes
      unaffected by --harmony-function-tostring.
      
      BUG=v8:4958
      LOG=n
      
      Review-Url: https://codereview.chromium.org/2161413002
      Cr-Commit-Position: refs/heads/master@{#37959}
      3cfd80d6
  15. 12 Jul, 2016 1 commit
  16. 08 Jul, 2016 1 commit
  17. 30 Jun, 2016 1 commit
  18. 27 May, 2016 1 commit
    • littledan's avatar
      Unship ES2015 for-in initializer restrictions · 7245dabd
      littledan authored
      We now have data that 0.011% of websites use the pattern
        for (var i = 0 in j) { ... }
      This pattern was banned by ES2015, with the idea to revisit if
      it presents a web compatibility problem. Informally, after
      the May 2016 TC39 meeting, the new data was discussed, and there
      was interest in reversing the decision. Although the specification
      is not yet updated, it seems likely to come soon.
      
      This patch turns off the flag which bans that construct, reenabling
      it. The change should prevent websites from breaking.
      
      BUG=v8:4942
      
      Review-Url: https://codereview.chromium.org/2011223003
      Cr-Commit-Position: refs/heads/master@{#36562}
      7245dabd
  19. 28 Apr, 2016 1 commit
  20. 21 Apr, 2016 1 commit
  21. 04 Apr, 2016 1 commit
  22. 01 Apr, 2016 1 commit
    • littledan's avatar
      Revert of Remove RegExp.prototype.source getter compat workaround (patchset #2... · 31e806eb
      littledan authored
      Revert of Remove RegExp.prototype.source getter compat workaround (patchset #2 id:20001 of https://codereview.chromium.org/1837843002/ )
      
      Reason for revert:
      TC39 decided that this compatibility fix should be standardized.
      
      Original issue's description:
      > Remove RegExp.prototype.source getter compat workaround
      >
      > The getter RegExp.prototype.source is specified in ES2015 to throw when
      > called on a non-RegExp instance, such as RegExp.prototype. We had previously
      > put in a compatibility workaround for all RegExp getters to make them
      > throw on access specifically with RegExp.prototype as the receiver; however,
      > we only have evidence that this is needed for properties other than source.
      > This patch removes the compatibility workaround for get RegExp.prototype.source
      > and gives it semantics precisely as per the ES2015 specification.
      >
      > R=adamk
      > BUG=chromium:581577,v8:4827
      > LOG=Y
      >
      > Committed: https://crrev.com/80803aa89e31839b8f73959776fa7e1923c6b461
      > Cr-Commit-Position: refs/heads/master@{#35086}
      
      R=adamk@chromium.org
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=chromium:581577,v8:4827
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1847783003
      
      Cr-Commit-Position: refs/heads/master@{#35180}
      31e806eb
  23. 28 Mar, 2016 1 commit
    • littledan's avatar
      Remove RegExp.prototype.source getter compat workaround · 80803aa8
      littledan authored
      The getter RegExp.prototype.source is specified in ES2015 to throw when
      called on a non-RegExp instance, such as RegExp.prototype. We had previously
      put in a compatibility workaround for all RegExp getters to make them
      throw on access specifically with RegExp.prototype as the receiver; however,
      we only have evidence that this is needed for properties other than source.
      This patch removes the compatibility workaround for get RegExp.prototype.source
      and gives it semantics precisely as per the ES2015 specification.
      
      R=adamk
      BUG=chromium:581577,v8:4827
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1837843002
      
      Cr-Commit-Position: refs/heads/master@{#35086}
      80803aa8
  24. 18 Mar, 2016 1 commit
  25. 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
  26. 15 Mar, 2016 1 commit
    • littledan's avatar
      Put RegExp js code in strict mode · 80b1b2a4
      littledan authored
      src/js/regexp.js was one of the few files that was left in sloppy
      mode. The ES2017 draft specification requires that writes to
      lastIndex throw when the property is non-writable, and test262
      tests enforce this behavior. This patch puts that file in strict
      mode.
      
      BUG=v8:4504
      R=yangguo@chromium.org
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1776883005
      
      Cr-Commit-Position: refs/heads/master@{#34801}
      80b1b2a4
  27. 02 Mar, 2016 1 commit
  28. 23 Feb, 2016 1 commit
    • littledan's avatar
      ES2015 web compat workaround: RegExp.prototype.flags => "" · b22b2588
      littledan authored
      It turns out that some old polyfill library uses
      RegExp.prototype.flags as a way of feature testing. It's not clear
      how widespread this is. For now, as a minimal workaround, we can
      return undefined from getters like RegExp.prototype.global when
      the receiver is RegExp.prototype. This patch implements that strategy
      but omits a UseCounter to make backports easier.
      
      R=adamk
      CC=yangguo@chromium.org
      BUG=chromium:581577
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1640803003
      
      Cr-Commit-Position: refs/heads/master@{#34201}
      b22b2588
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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