1. 07 Oct, 2015 19 commits
  2. 06 Oct, 2015 16 commits
  3. 05 Oct, 2015 5 commits
    • littledan's avatar
      Fix legacy const for-of/in destructuring · 38465598
      littledan authored
      Previously, using legacy const in for-of/in loops led to a check-fail
      in the parser. This was due to the fact that the destructuring bind
      led to an undefined initialization to undefined in the parser, which
      caused the for loop code to go down a strange path. This patch
      eliminates the undefined initialization in variables declared in
      for-in/of loops, so that that path is not used and the error is
      fixed.
      
      BUG=v8:4461
      LOG=Y
      R=adamk
      
      Review URL: https://codereview.chromium.org/1385913003
      
      Cr-Commit-Position: refs/heads/master@{#31117}
      38465598
    • stefan.penner's avatar
      [es6] Align Promise.resolve with the spec · dcbab0f5
      stefan.penner authored
      * Promise.resolve is now works with subclasses
      * Spec removed [[PromiseConstructor]] now can simply use constructor
      * Promise.resolve ignores species
      
      R=littledan@chromium.org,domenic@chromium.org
      BUG=v8:4161,v8:4341
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1362773002
      
      Cr-Commit-Position: refs/heads/master@{#31116}
      dcbab0f5
    • littledan's avatar
      Prohibit let in lexical bindings · 7e113c47
      littledan authored
      This patch prohibits lexical bindings from being called 'let', even in
      sloppy mode, following the ES2015 specification. The change affects
      multiple cases of lexical bindings, including simple let/const declarations
      and both kinds of for loops. var and legacy const bindings still permit
      the name to be let, including in destructuring cases. Tests are added to
      verify, though some cases are commented out since they led to (pre-existing)
      crashes.
      
      BUG=v8:4403
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1371263003
      
      Cr-Commit-Position: refs/heads/master@{#31115}
      7e113c47
    • mbrandy's avatar
      PPC: Remove register index/code indirection · f53fda63
      mbrandy authored
      Port 5cf1c0bc
      
      Original commit message:
          Previous to this patch, both the lithium and TurboFan register
          allocators tracked allocated registers by "indices", rather than
          the register codes used elsewhere in the runtime. This patch
          ensures that codes are used everywhere, and in the process cleans
          up a bunch of redundant code and adds more structure to how the
          set of allocatable registers is defined.
      
          Some highlights of changes:
      
          * TurboFan's RegisterConfiguration class moved to V8's top level
            so that it can be shared with Crankshaft.
          * Various "ToAllocationIndex" and related methods removed.
          * Code that can be easily shared between Register classes on
            different platforms is now shared.
          * The list of allocatable registers on each platform is declared
            as a list rather than implicitly via the register index <->
            code mapping.
      
      R=danno@chromium.org, bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1381383002
      
      Cr-Commit-Position: refs/heads/master@{#31114}
      f53fda63
    • hans's avatar
      Remove unnecessary friend decls; fix Win-Clang builds · 57ca0f36
      hans authored
      Clang builds on Windows were failing with:
      
      ..\..\v8\src\register-configuration.cc(85,17) :  error: unqualified friend
      declaration referring to type outside of the nearest enclosing namespace is
      a Microsoft extension; add a nested name specifier
      [-Werror,-Wmicrosoft-unqualified-friend]
      
        friend struct Register;
                      ^
                      ::v8::internal::
      
      How did it work on non-Windows? The friend declarations were declaring
      new Register and DoubleRegister structs in the current namespace, instead
      of refering the existing classes in the outer namespce.
      
      The code isn't referencing any private members of these classes anyway,
      so let's drop the friend declarations.
      
      BUG=82385
      LOG=n
      
      Review URL: https://codereview.chromium.org/1389723002
      
      Cr-Commit-Position: refs/heads/master@{#31113}
      57ca0f36