1. 24 Nov, 2016 1 commit
  2. 22 Nov, 2016 1 commit
  3. 21 Nov, 2016 1 commit
    • mstarzinger's avatar
      [fullcodegen] Remove deprecated generator implementation. · 09255541
      mstarzinger authored
      This removes the deprecated generator support for resumable functions
      from {FullCodeGenerator}. The existing {AstNumbering} heuristic already
      triggers Ignition for most resumable functions, with this change we make
      said heuristic a hard choice and remove the deprecated code. This also
      has the advantage that any suspended {JSGeneratorObject} instance on the
      heap is guaranteed to have code based on a bytecode array.
      
      R=bmeurer@chromium.org
      
      Review-Url: https://codereview.chromium.org/2504223002
      Cr-Commit-Position: refs/heads/master@{#41135}
      09255541
  4. 18 Nov, 2016 1 commit
  5. 16 Nov, 2016 1 commit
  6. 10 Nov, 2016 1 commit
  7. 02 Nov, 2016 1 commit
    • bmeurer's avatar
      [compiler] Sanitize IC counts for vector based ICs. · 5ef1bddf
      bmeurer authored
      All vector ICs use the TypeFeedbackVector::ComputeCounts method now,
      while the remaining patching ICs still use the traditional way of
      counting on the TypeFeedbackInfo hanging off the fullcodegen code
      object. This fixes the problem that counts were sometimes off.
      
      Drive-by-fix: Move FullCodeGenerator::CallIC to fullcodegen.cc.
      
      R=yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2472653002
      Cr-Commit-Position: refs/heads/master@{#40690}
      5ef1bddf
  8. 24 Oct, 2016 2 commits
  9. 20 Oct, 2016 1 commit
    • adamk's avatar
      [ignition] Eliminate hole checks where statically possible for loads and stores · 35a3ccbf
      adamk authored
      Move hole check logic from full-codegen into scope analysis, and store the
      "needs hole check" bit on VariableProxy. This makes it easy to re-use in
      any backend: it will be trivial to extend the use of this logic in, e.g.,
      full-codegen variable stores.
      
      While changing the signatures of the variable loading/storing methods in
      Ignition, I took the liberty of replacing the verb "Visit" with "Build", since these
      are not part of AST visiting.
      
      BUG=v8:5460
      
      Review-Url: https://chromiumcodereview.appspot.com/2411873004
      Cr-Commit-Position: refs/heads/master@{#40479}
      35a3ccbf
  10. 19 Oct, 2016 1 commit
    • zhengxing.li's avatar
      X87: [ic] Unify CallIC feedback collection and handling. · 572c231c
      zhengxing.li authored
        port 308788b3 (r40397)
      
        original commit message:
        Consistently collect CallIC feedback in fullcodegen and Ignition, even
        for possibly direct eval calls, that were treated specially so far, for
        no apparent reason. With the upcoming SharedFunctionInfo based CallIC
        feedback, we might be able to even inline certain direct eval calls, if
        they manage to hit the eval cache. More importantly, this patch
        simplifies the collection and dealing with CallIC feedback (and as a
        side effect fixes an inconsistency with feedback for super constructor
        calls).
      
      BUG=
      
      Review-Url: https://chromiumcodereview.appspot.com/2429623005
      Cr-Commit-Position: refs/heads/master@{#40416}
      572c231c
  11. 18 Oct, 2016 1 commit
  12. 13 Oct, 2016 1 commit
  13. 12 Oct, 2016 1 commit
  14. 07 Oct, 2016 3 commits
  15. 06 Oct, 2016 1 commit
  16. 28 Sep, 2016 1 commit
  17. 24 Sep, 2016 1 commit
  18. 23 Sep, 2016 3 commits
  19. 20 Sep, 2016 1 commit
  20. 18 Sep, 2016 1 commit
    • zhengxing.li's avatar
      X87: [turbofan] Collect invocation counts and compute relative call frequencies. · b6acda3a
      zhengxing.li authored
        port c7d7ca36(r39410)
      
        original commit message:
        Add a notion of "invocation count" to the baseline compilers, which
        increment a special slot in the TypeFeedbackVector for each invocation
        of a given function (the optimized code doesn't currently collect this
        information).
      
        Use this invocation count to relativize the call counts on the call
        sites within the function, so that the inlining heuristic has a view
        of relative importance of a call site rather than some absolute numbers
        with unclear meaning for the current function. Also apply the call site
        frequency as a factor to all frequencies in the inlinee by passing this
        to the graph builders so that the importance of a call site in an
        inlinee is relative to the topmost optimized function.
      
        Note that all functions that neither have literals nor need type
        feedback slots will share a single invocation count cell in the
        canonical empty type feedback vector, so their invocation count is
        meaningless, but that doesn't matter since we only use the invocation
        count to relativize call counts within the function, which we only have
        if we have at least one type feedback vector (the CallIC slot).
      
        See the design document for additional details on this change:
        https://docs.google.com/document/d/1VoYBhpDhJC4VlqMXCKvae-8IGuheBGxy32EOgC2LnT8
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2352493002
      Cr-Commit-Position: refs/heads/master@{#39490}
      b6acda3a
  21. 16 Sep, 2016 1 commit
  22. 09 Sep, 2016 1 commit
  23. 06 Sep, 2016 1 commit
    • bakkot's avatar
      Split the AST representation of class properties from object properties. · 7bc200c7
      bakkot authored
      This introduces ClassLiteralProperty and a supertype LiteralProperty of
      it and ObjectLiteralProperty. It also splits the parsing of the two.
      This substiantially clarifies some logic, especially as classes
      continue to evolve, and is also about a 2% performance improvement to
      parsing either kind of property (since no work is wasted on logic
      only necessary for the other kind). Also, it saves a word on
      ObjectLiteralProperties.
      
      Review-Url: https://codereview.chromium.org/2302643002
      Cr-Commit-Position: refs/heads/master@{#39219}
      7bc200c7
  24. 05 Sep, 2016 1 commit
  25. 02 Sep, 2016 1 commit
  26. 01 Sep, 2016 2 commits
  27. 31 Aug, 2016 1 commit
  28. 30 Aug, 2016 2 commits
    • jochen's avatar
      Create ScopeInfos while analyzing the Scope chain · 0c3789fb
      jochen authored
      Instead of creating them on demand all over the place.
      
      I plan to link ScopeInfos together, and having one place where all
      ScopeInfos are created will make this easier.
      
      R=verwaest@chromium.org,adamk@chromium.org
      TBR=mstarzinger@chromium.org
      BUG=v8:5215
      
      Review-Url: https://codereview.chromium.org/2281073002
      Cr-Commit-Position: refs/heads/master@{#39003}
      0c3789fb
    • zhengxing.li's avatar
      X87: [turbofan] Remove special JSForInStep and JSForInDone. · 5572cea1
      zhengxing.li authored
        port 1915762c (r38968)
      
        original commit message:
        These JavaScript operators were special hacks to ensure that we always
        operate on Smis for the magic for-in index variable, but this never
        really worked in the OSR case, because the OsrValue for the index
        variable didn't have the proper information (that we have for the
        JSForInPrepare in the non-OSR case).
      
        Now that we have loop induction variable analysis and binary operation
        hints, we can just use JSLessThan and JSAdd instead with appropriate
        Smi hints, which handle the OSR case by inserting Smi checks (that are
        always true). Thanks to OSR deconstruction and loop peeling these Smi
        checks will be hoisted so they don't hurt the OSR case too much.
      
        Drive-by-change: Rename the ForInDone bytecode to ForInContinue, since
        we have to lower it to JSLessThan to get the loop induction variable
        goodness.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2286353003
      Cr-Commit-Position: refs/heads/master@{#38992}
      5572cea1
  29. 29 Aug, 2016 1 commit
  30. 25 Aug, 2016 1 commit
  31. 24 Aug, 2016 1 commit
  32. 22 Aug, 2016 2 commits