1. 07 Oct, 2015 8 commits
    • ishell's avatar
      Do not run mjsunit/compare-known-objects-slow in GC-stress mode. · 77faf5d0
      ishell authored
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1393713004
      
      Cr-Commit-Position: refs/heads/master@{#31155}
      77faf5d0
    • adamk's avatar
      Use Scope::function_kind_ to distinguish arrow function scopes · 24565b85
      adamk authored
      Previously, arrow function scopes had a separate ScopeType. However,
      Scope::DeserializeScopeChain() erroneously deserialized ARROW_SCOPE
      ScopeInfos as FUNCTION_SCOPE. This could lead to bugs such as the
      attached one, where "super" was disallowed where it should have
      been allowed.
      
      This patch utilizes the Scope's FunctionKind to distinguish arrow
      functions from others. Besides fixing the above bug, this also
      simplifies code in various places that had to deal with two different
      ScopeTypes both of which meant "function".
      
      BUG=v8:4466
      LOG=n
      
      Review URL: https://codereview.chromium.org/1386253002
      
      Cr-Commit-Position: refs/heads/master@{#31154}
      24565b85
    • bmeurer's avatar
      [turbofan] Add initial support for global specialization. · e16dd13d
      bmeurer authored
      Introduce a new JSGlobalSpecialization advanced reducer that runs
      during the initial inlining and context specialization, and specializes
      the graph to the globals of the native context.  Currently we assume
      that we do not inline cross native context, but long-term we will grab
      the global object from the JSLoadGlobal/JSStoreGlobal feedback (with the
      new global load/store ICs that are currently in the workings), and then
      this whole specialization will be fully compositional even across
      cross-context inlining.
      
      Note that we cannot really handle most of the stores to global object
      property cells because TurboFan doesn't have a mechanism to enforce
      certain representations.  Also note that we cannot yet fully benefit
      from the type feedback collected on the global object property cells,
      because the type system cannot deal with maps in a reasonable way.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
      R=jarin@chromium.org
      BUG=v8:4470
      LOG=n
      
      Committed: https://crrev.com/6fbf7903f94924ea066af481719898bd9667b6eb
      Cr-Commit-Position: refs/heads/master@{#31139}
      
      Review URL: https://codereview.chromium.org/1387393002
      
      Cr-Commit-Position: refs/heads/master@{#31148}
      e16dd13d
    • Benedikt Meurer's avatar
      [turbofan] Disable failing test due to try...catch and lazy deopts. · 30f1b0e1
      Benedikt Meurer authored
      This seems to be triggered now with global object specialization.
      
      TEST=mjsunit/regress/regress-crbug-450960
      TBR=mstarzinger@chromium.org
      BUG=v8:4195
      LOG=n
      
      Review URL: https://codereview.chromium.org/1388403002 .
      
      Cr-Commit-Position: refs/heads/master@{#31147}
      30f1b0e1
    • neis's avatar
      [es6] Implement parts of the Reflect object. · 09184aca
      neis authored
      - Reflect.deleteProperty
      - Reflect.get
      - Reflect.has
      - Reflect.isExtensible
      
      Reflect.get doesn't support the receiver argument yet, and
      some of the others don't support proxies yet.
      
      R=rossberg
      BUG=v8:3931
      LOG=n
      
      Review URL: https://codereview.chromium.org/1379313002
      
      Cr-Commit-Position: refs/heads/master@{#31146}
      09184aca
    • bmeurer's avatar
      [turbofan] Don't try to inline non-inlineable functions. · a916059a
      bmeurer authored
      R=mstarzinger@chromium.org
      BUG=chromium:540593
      LOG=n
      
      Review URL: https://codereview.chromium.org/1395453002
      
      Cr-Commit-Position: refs/heads/master@{#31145}
      a916059a
    • bmeurer's avatar
      Revert of [turbofan] Add initial support for global specialization. (patchset... · 84065c5f
      bmeurer authored
      Revert of [turbofan] Add initial support for global specialization. (patchset #4 id:60001 of https://codereview.chromium.org/1387393002/ )
      
      Reason for revert:
      Breaks GC stress: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/1984/steps/Bisect%20c5528ac1.Retry/logs/regress-crbug-450960
      
      Original issue's description:
      > [turbofan] Add initial support for global specialization.
      >
      > Introduce a new JSGlobalSpecialization advanced reducer that runs
      > during the initial inlining and context specialization, and specializes
      > the graph to the globals of the native context.  Currently we assume
      > that we do not inline cross native context, but long-term we will grab
      > the global object from the JSLoadGlobal/JSStoreGlobal feedback (with the
      > new global load/store ICs that are currently in the workings), and then
      > this whole specialization will be fully compositional even across
      > cross-context inlining.
      >
      > Note that we cannot really handle most of the stores to global object
      > property cells because TurboFan doesn't have a mechanism to enforce
      > certain representations.  Also note that we cannot yet fully benefit
      > from the type feedback collected on the global object property cells,
      > because the type system cannot deal with maps in a reasonable way.
      >
      > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
      > R=jarin@chromium.org
      > BUG=v8:4470
      > LOG=n
      >
      > Committed: https://crrev.com/6fbf7903f94924ea066af481719898bd9667b6eb
      > Cr-Commit-Position: refs/heads/master@{#31139}
      
      TBR=jarin@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4470
      
      Review URL: https://codereview.chromium.org/1390073004
      
      Cr-Commit-Position: refs/heads/master@{#31144}
      84065c5f
    • bmeurer's avatar
      [turbofan] Add initial support for global specialization. · 6fbf7903
      bmeurer authored
      Introduce a new JSGlobalSpecialization advanced reducer that runs
      during the initial inlining and context specialization, and specializes
      the graph to the globals of the native context.  Currently we assume
      that we do not inline cross native context, but long-term we will grab
      the global object from the JSLoadGlobal/JSStoreGlobal feedback (with the
      new global load/store ICs that are currently in the workings), and then
      this whole specialization will be fully compositional even across
      cross-context inlining.
      
      Note that we cannot really handle most of the stores to global object
      property cells because TurboFan doesn't have a mechanism to enforce
      certain representations.  Also note that we cannot yet fully benefit
      from the type feedback collected on the global object property cells,
      because the type system cannot deal with maps in a reasonable way.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
      R=jarin@chromium.org
      BUG=v8:4470
      LOG=n
      
      Review URL: https://codereview.chromium.org/1387393002
      
      Cr-Commit-Position: refs/heads/master@{#31139}
      6fbf7903
  2. 06 Oct, 2015 3 commits
  3. 05 Oct, 2015 6 commits
  4. 02 Oct, 2015 5 commits
  5. 01 Oct, 2015 5 commits
    • machenbach's avatar
      [Swarming] Presort tests - slowest first. · 366dc811
      machenbach authored
      Swarming won't support an incremental data file. By just
      sorting the lowest hanging fruits to the beginning we
      already get a big bang for the buck (>80% of the improvement
      we get otherwise).
      
      This will require semi-regular manual updates of the
      slowest tests.
      
      BUG=chromium:535160
      LOG=n
      
      Review URL: https://codereview.chromium.org/1385443002
      
      Cr-Commit-Position: refs/heads/master@{#31061}
      366dc811
    • ishell's avatar
      Disable vector store ICs for mjsunit/call-counts because slot indices change... · 898524af
      ishell authored
      Disable vector store ICs for mjsunit/call-counts because slot indices change when --vector-stores is enabled.
      
      Review URL: https://codereview.chromium.org/1381073003
      
      Cr-Commit-Position: refs/heads/master@{#31059}
      898524af
    • bmeurer's avatar
      [es6] Fix missing bits for full @@toPrimitive support. · 2a0759d3
      bmeurer authored
      Introduce %_ToNumber intrinsic, which just calls to the existing
      ToNumberStub, and remove all uses of our custom JavaScript plus
      intrinsics based ToNumber and friends.
      
      Also replace the TO_NUMBER_INLINE macro with TO_NUMBER,
      which is currently a wrapper for %_ToNumber. Newly written JS
      code should use TO_NUMBER (similar to TO_STRING, TO_INT32,
      and friends).
      
      Also finally remove the DefaultString/DefaultNumber builtins, which
      are basically the ES5 version of ToPrimitive. Now all code uses the
      ES6 version, which is implemented in Object::ToPrimitive and
      JSReceiver::ToPrimitive in C++.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      R=jarin@chromium.org
      BUG=v8:4307
      LOG=n
      
      Review URL: https://codereview.chromium.org/1384443002
      
      Cr-Commit-Position: refs/heads/master@{#31054}
      2a0759d3
    • neis's avatar
      Fix completion of try..finally. · cf82eea6
      neis authored
      R=rossberg
      BUG=v8:2529
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1375203004
      
      Cr-Commit-Position: refs/heads/master@{#31051}
      cf82eea6
    • rossberg's avatar
      [es6] Scoping & initialization for var shadowing non-simple parameters · 2c2848dc
      rossberg authored
      Var-bindings may shadow parameters from a non-simple parameter list. When that happens: they create separate bindings, but are initialised with the respective parameter value. Thus:
      
      (function(x, f = () => x) { var x; var y = x; x = 2; return [x, y, f()] })(1) -->  [2, 1, 1]
      
      This CL implements that by inserting a suitable assignment for every shadwowing var-variable (e.g., x = outer_x above) at the beginning of the function's body block.
      
      R=adamk@chromium.org
      BUG=v8:4440,v8:811
      LOG=N
      
      Review URL: https://codereview.chromium.org/1371333004
      
      Cr-Commit-Position: refs/heads/master@{#31042}
      2c2848dc
  6. 30 Sep, 2015 3 commits
  7. 29 Sep, 2015 1 commit
  8. 28 Sep, 2015 1 commit
  9. 25 Sep, 2015 2 commits
  10. 24 Sep, 2015 1 commit
  11. 23 Sep, 2015 4 commits
  12. 22 Sep, 2015 1 commit
    • adamk's avatar
      Don't crash when preparsing destructured arguments · 7485da7a
      adamk authored
      This adds the materialized literal count accumulated while parsing the
      parameters (in the parser proper) to that accumulated by the preparser.
      
      This should have been caught in cctest/test-parsing, but it's not covered
      because the parsing tests call directly into the preparser rather than
      using Parser::ParseFunctionLiteral (which fully-parses the parameters
      and then calls into the preparser to skip over the function body).
      
      Note that this further-inflates the materialized literal count for
      functions with destructured arguments, since some of the counted
      literals are actually binding patterns. But that's not specific to
      binding patterns in formal parameters: it happens in function bodies, too.
      
      BUG=v8:4400,v8:4407
      LOG=n
      
      Review URL: https://codereview.chromium.org/1350913005
      
      Cr-Commit-Position: refs/heads/master@{#30868}
      7485da7a