1. 19 Feb, 2016 1 commit
  2. 18 Feb, 2016 4 commits
  3. 16 Feb, 2016 1 commit
  4. 10 Feb, 2016 1 commit
  5. 04 Feb, 2016 2 commits
  6. 02 Feb, 2016 2 commits
    • jarin's avatar
      Remove the template magic from types.(h|cc), remove types-inl.h. · ef35f11c
      jarin authored
      This CL removes the Config templatization from the types. It is not
      necessary anymore, after the HeapTypes have been removed.
      
      The CL also changes the type hierarchy - the specific type kinds are
      not inner classes of the Type class and they do not inherit from Type.
      This is partly because it seems impossible to make this work without
      templates. Instead, a new TypeBase class is introduced and all the
      structural (i.e., non-bitset) types inherit from it.
      
      The bitset type still requires the bit-munging hack and some nasty
      reinterpret-casts to pretend bitsets are of type Type*. Additionally,
      there is now the same hack for TypeBase - all pointers to the sub-types
      of TypeBase are reinterpret-casted to Type*. This is to keep the type
      constructors in inline method definitions (although it is unclear how
      much that actually buys us).
      
      In future, we would like to move to a model where we encapsulate Type*
      into a class (or possibly use Type where we used to use Type*). This
      would loosen the coupling between bitset size and pointer size, and
      eventually we would be able to have more bits.
      
      TBR=bradnelson@chromium.org
      
      Review URL: https://codereview.chromium.org/1655833002
      
      Cr-Commit-Position: refs/heads/master@{#33656}
      ef35f11c
    • caitpotter88's avatar
      [parser] report invalid rest parameter errors in Arrow functions · 15da9843
      caitpotter88 authored
      Based on vogelheim's CL at https://codereview.chromium.org/1657783002/
      
      BUG=chromium:582626, v8:2700
      LOG=N
      R=adamk@chromium.org, rossberg@chromium.org, vogelheim@chromium.org
      
      Review URL: https://codereview.chromium.org/1656993002
      
      Cr-Commit-Position: refs/heads/master@{#33651}
      15da9843
  7. 28 Jan, 2016 1 commit
  8. 12 Jan, 2016 1 commit
    • littledan's avatar
      TypedArray and ArrayBuffer support for @@species · 2bd9bdbe
      littledan authored
      This patch improves ArrayBuffer and TypedArray subclassing by adding
      support for @@species and constructing outputs to certain methods
      by creating an instance of the constructor determined by the
      SpeciesConstructor algorithm, rather than fixed to a superclass or
      naively the constructor. The new behavior is enabled by the
      --harmony-species flag. Care is taken to not significantly change the
      observable behavior when the flag is off. Previously, TypedArrays
      already supported subclassing by reading the constructor of the
      receiver, but ArrayBuffers did not, and this old behavior is
      preserved and tested for, to avoid a multi-stage upgrade path and keep
      things simple for users.
      
      R=adamk
      BUG=v8:4093
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1574903004
      
      Cr-Commit-Position: refs/heads/master@{#33223}
      2bd9bdbe
  9. 11 Jan, 2016 1 commit
  10. 07 Jan, 2016 1 commit
    • littledan's avatar
      Add Array support for @@species and subclassing · 6e962237
      littledan authored
      This patch implements @@species, guarded behind the --harmony-species
      flag, on Arrays. Methods which return an Array will instead return
      the appropriate instance based on the ArraySpeciesCreate algorithm.
      The algorithm is implemented in C++ to get access to realm information
      and to implement some Array methods in C++, but it is also accessed
      from JavaScript through a new runtime function. A couple interactive
      Octane runs show no performance regression with the flag turned off,
      but turning --harmony-species on will surely have a significant
      regression, as Array methods now heavily use ObjectDefineProperty.
      
      BUG=v8:4093
      LOG=Y
      R=adamk,cbruni
      
      Review URL: https://codereview.chromium.org/1560763002
      
      Cr-Commit-Position: refs/heads/master@{#33144}
      6e962237
  11. 05 Jan, 2016 1 commit
    • caitpotter88's avatar
      [promise] Make Promise.reject match spec, and validate promise capabilities · e4af5cdb
      caitpotter88 authored
      Correctly validate promise capabilities in NewPromiseCapabilities() and in
      GetCapabilitiesExtractor(). Also explicitly follows Promise.race step 2 and
      similar cases in the spec, rather than passing tests asserting these steps
      are taken in NewPromiseCapability
      
      Also changes Promise.reject to match specification.
      
      Fixes the following test262 tests:
      
      - built-ins/Promise/all/capability-executor-called-twice.js
      - built-ins/Promise/all/capability-executor-not-callable.js
      - built-ins/Promise/prototype/then/capability-executor-called-twice.js
      - built-ins/Promise/prototype/then/capability-executor-not-callable.js
      - built-ins/Promise/reject/capability-executor-called-twice.js
      - built-ins/Promise/reject/capability-executor-not-callable.js
      - built-ins/Promise/resolve/capability-executor-called-twice.js
      - built-ins/Promise/resolve/capability-executor-not-callable.js
      - built-ins/Promise/race/capability-executor-called-twice.js
      - built-ins/Promise/race/capability-executor-not-callable.js
      - built-ins/Promise/reject/S25.4.4.4_A3.1_T1.js
      - built-ins/Promise/race/S25.4.4.3_A3.1_T2.js
      
      Per v8:3641, mjsunit/es6/debug-promises/throw-with-undefined-reject.js becomes invalid. The exception is thrown before the chain handler is ever invoked, and is caught externally by d8's own handler --- thus evading the uncaught exception event.
      
      BUG=v8:4633, v8:4631, v8:4243, v8:3641
      LOG=N
      R=littledan@chromium.org, cbruni@chromium.org
      
      Review URL: https://codereview.chromium.org/1531073004
      
      Cr-Commit-Position: refs/heads/master@{#33128}
      e4af5cdb
  12. 04 Jan, 2016 1 commit
    • jshin's avatar
      Timezone name check fix · 4e18190e
      jshin authored
      1. Location names with more than one underscores (e.g. Ho_Chi_Minh)
         didn't work because of the way capturing works with repeated patterns
         in RE. It's now supported by changing the RE to capture the whole string
         and splitting on '_' in the next step.
      
      2. Adds support for location names with a hyphen
      
      3. Adds support for timezone ids with three parts (e.g.
         American/Argentina/Buenos_Aires)
      
      4. Adds special handling of 'au', 'es' and 'of' in zone ids. They need to be kept in lowercase. (see the full list at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones )
      
      5. Adds regression tests for all the above and make the existing tests
         more robust against future ICU changes. ICU canonicalizes zone names to
         deprecated names, but it may change. (
         http://bugs.icu-project.org/trac/ticket/12044 )
      
      BUG=364374
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1529363005
      
      Cr-Commit-Position: refs/heads/master@{#33097}
      4e18190e
  13. 30 Dec, 2015 1 commit
    • littledan's avatar
      Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1 of... · e549c7a3
      littledan authored
      Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1 of https://codereview.chromium.org/1554523002/ )
      
      Reason for revert:
      Should be fixed again with this Blink change to add NeedsManualRebaseline
      
      Original issue's description:
      > Revert of Use ES2015-style TypedArray prototype chain (patchset #5 id:80001 of https://codereview.chromium.org/1541233002/ )
      >
      > Reason for revert:
      > [Sheriff] Changes layout tests. Please fix upstream first if intended.
      >
      > https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3689
      >
      > Original issue's description:
      > > Use ES2015-style TypedArray prototype chain
      > >
      > > This patch switches TypedArrays to use the prototype chain described
      > > in the ES2015 specification, which adds a %TypedArray% superclass above
      > > all individual TypedArray types. Most methods are defined on the
      > > superclass rather than the subclasses.
      > >
      > > In order to prevent a performance regression, a few methods are
      > > marked as inline. Inlining might prevent code which was previously
      > > monomorphic from becoming polymorphic, and it was specifically
      > > applied in places where methods became more polymorphic than before.
      > > Tests with realistic workloads would be nice to do before this
      > > ships in stable.
      > >
      > > This patch does not bring TypedArrays up to full spec compliance. In
      > > particular, @@species is not yet supported.
      > >
      > > R=cbruni
      > > BUG=v8:4085
      > > LOG=Y
      > >
      > > Committed: https://crrev.com/07c91dccbe55c7be3ec75857dee5ad59873330b7
      > > Cr-Commit-Position: refs/heads/master@{#33050}
      >
      > TBR=caitpotter88@gmail.com,cbruni@chromium.org,littledan@chromium.org
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      > BUG=v8:4085
      >
      > Committed: https://crrev.com/28b55ffd1e32e09aaf42b8bbb407944d4808e07c
      > Cr-Commit-Position: refs/heads/master@{#33053}
      
      TBR=caitpotter88@gmail.com,cbruni@chromium.org,machenbach@chromium.org
      BUG=v8:4085
      LOG=Y
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1558663002
      
      Cr-Commit-Position: refs/heads/master@{#33067}
      e549c7a3
  14. 29 Dec, 2015 1 commit
    • machenbach's avatar
      Revert of Use ES2015-style TypedArray prototype chain (patchset #5 id:80001 of... · 28b55ffd
      machenbach authored
      Revert of Use ES2015-style TypedArray prototype chain (patchset #5 id:80001 of https://codereview.chromium.org/1541233002/ )
      
      Reason for revert:
      [Sheriff] Changes layout tests. Please fix upstream first if intended.
      
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3689
      
      Original issue's description:
      > Use ES2015-style TypedArray prototype chain
      >
      > This patch switches TypedArrays to use the prototype chain described
      > in the ES2015 specification, which adds a %TypedArray% superclass above
      > all individual TypedArray types. Most methods are defined on the
      > superclass rather than the subclasses.
      >
      > In order to prevent a performance regression, a few methods are
      > marked as inline. Inlining might prevent code which was previously
      > monomorphic from becoming polymorphic, and it was specifically
      > applied in places where methods became more polymorphic than before.
      > Tests with realistic workloads would be nice to do before this
      > ships in stable.
      >
      > This patch does not bring TypedArrays up to full spec compliance. In
      > particular, @@species is not yet supported.
      >
      > R=cbruni
      > BUG=v8:4085
      > LOG=Y
      >
      > Committed: https://crrev.com/07c91dccbe55c7be3ec75857dee5ad59873330b7
      > Cr-Commit-Position: refs/heads/master@{#33050}
      
      TBR=caitpotter88@gmail.com,cbruni@chromium.org,littledan@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4085
      
      Review URL: https://codereview.chromium.org/1554523002
      
      Cr-Commit-Position: refs/heads/master@{#33053}
      28b55ffd
  15. 28 Dec, 2015 1 commit
    • littledan's avatar
      Use ES2015-style TypedArray prototype chain · 07c91dcc
      littledan authored
      This patch switches TypedArrays to use the prototype chain described
      in the ES2015 specification, which adds a %TypedArray% superclass above
      all individual TypedArray types. Most methods are defined on the
      superclass rather than the subclasses.
      
      In order to prevent a performance regression, a few methods are
      marked as inline. Inlining might prevent code which was previously
      monomorphic from becoming polymorphic, and it was specifically
      applied in places where methods became more polymorphic than before.
      Tests with realistic workloads would be nice to do before this
      ships in stable.
      
      This patch does not bring TypedArrays up to full spec compliance. In
      particular, @@species is not yet supported.
      
      R=cbruni
      BUG=v8:4085
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1541233002
      
      Cr-Commit-Position: refs/heads/master@{#33050}
      07c91dcc
  16. 17 Dec, 2015 1 commit
    • verwaest's avatar
      Throw TypeError when reading global references through a JSProxy · 01b8e7c7
      verwaest authored
      Allowing global references to be read through a proxy results in cross-origin information leaks. The ES6 spec currently does not mitigate this in any way. This CL adds a workaround that's easy for V8: throw whenever an unresolved reference would result in a proxy trap to be fired. I'm landing this so we can move forwards with staging proxies without putting users of --harmony at risk.
      
      BUG=chromium:399951
      LOG=n
      
      Review URL: https://codereview.chromium.org/1529303003
      
      Cr-Commit-Position: refs/heads/master@{#32949}
      01b8e7c7
  17. 14 Dec, 2015 1 commit
    • neis's avatar
      [proxies] Improve error messages. · e9606365
      neis authored
      This CL makes proxy-related error messages more accurate and verbose.
      (Exception: those used in deprecated functions in v8natives.js.)  Some of
      the old error messages were simply wrong.
      
      On the side, fix ShouldThrow semantics of JSProxy::SetPrototype and
      JSProxy::DefineOwnProperty.
      
      R=cbruni@chromium.org, jkummerow@chromium.org
      BUG=v8:1543
      LOG=n
      
      Review URL: https://codereview.chromium.org/1527583002
      
      Cr-Commit-Position: refs/heads/master@{#32836}
      e9606365
  18. 11 Dec, 2015 1 commit
  19. 09 Dec, 2015 5 commits
  20. 04 Dec, 2015 1 commit
    • caitpotter88's avatar
      [es6] implement destructuring assignment · b634a61d
      caitpotter88 authored
      Attempt #<really big number>
      
      Parses, and lazily rewrites Destructuring Assignment expressions. The rewriting strategy involves inserting a placeholder RewritableAssignmentExpression into the AST, whose content expression can be completely rewritten at a later time.
      
      Lazy rewriting ensures that errors do not occur due to eagerly rewriting nodes which form part of a binding pattern, thus breaking the meaning of the pattern --- or by eagerly rewriting ambiguous constructs that are not immediately known
      
      BUG=v8:811
      LOG=Y
      R=adamk@chromium.org, bmeurer@chromium.org, rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1309813007
      
      Cr-Commit-Position: refs/heads/master@{#32623}
      b634a61d
  21. 02 Dec, 2015 1 commit
  22. 01 Dec, 2015 2 commits
  23. 30 Nov, 2015 1 commit
  24. 28 Nov, 2015 3 commits
  25. 26 Nov, 2015 2 commits
  26. 24 Nov, 2015 2 commits