1. 01 Dec, 2016 1 commit
  2. 28 Nov, 2016 2 commits
  3. 25 Nov, 2016 2 commits
  4. 24 Nov, 2016 1 commit
  5. 22 Nov, 2016 1 commit
  6. 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
  7. 18 Nov, 2016 1 commit
  8. 14 Nov, 2016 1 commit
    • bjaideep's avatar
      PPC/s390: [turbofan] Remove special JSForInStep and JSForInDone. · b4ccb16a
      bjaideep authored
      Port 1915762c
      
      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.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2502503002
      Cr-Commit-Position: refs/heads/master@{#40947}
      b4ccb16a
  9. 10 Nov, 2016 1 commit
  10. 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
  11. 24 Oct, 2016 2 commits
  12. 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
  13. 18 Oct, 2016 2 commits
    • bjaideep's avatar
      PPC/s390: [ic] Unify CallIC feedback collection and handling. · 78085e4d
      bjaideep authored
      Port 308788b3
      
      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).
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2425243003
      Cr-Commit-Position: refs/heads/master@{#40412}
      78085e4d
    • bmeurer's avatar
      [intrinsics] Nuke %HasCachedArrayIndex and %GetCachedArrayIndex. · 6c85285b
      bmeurer authored
      These intrinsics are unused now, and so we can drop all the code in
      fullcodegen and Crankshaft that deals with those. TurboFan and Ignition
      never tried to optimize those.
      
      R=mstarzinger@chromium.org
      BUG=v8:5049
      
      Review-Url: https://codereview.chromium.org/2427673004
      Cr-Commit-Position: refs/heads/master@{#40401}
      6c85285b
  14. 12 Oct, 2016 1 commit
    • bjaideep's avatar
      PPC/s390: [stubs] Refactor the CallICStub to pass the number of arguments. · c6f8955e
      bjaideep authored
      Port c15c5827
      
      Original commit message:
      
          This is the next step to unify the Call/Construct feedback collection
          and prepare it to be able to collect SharedFunctionInfo feedback. This
          also reduces the CallICStub overhead quite a bit since we only need one
          stub per mode (and tail call mode), not also one per call arity.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2415583002
      Cr-Commit-Position: refs/heads/master@{#40228}
      c6f8955e
  15. 11 Oct, 2016 1 commit
  16. 07 Oct, 2016 3 commits
  17. 06 Oct, 2016 1 commit
  18. 28 Sep, 2016 1 commit
  19. 24 Sep, 2016 1 commit
  20. 23 Sep, 2016 3 commits
  21. 20 Sep, 2016 1 commit
  22. 16 Sep, 2016 1 commit
  23. 15 Sep, 2016 1 commit
    • bjaideep's avatar
      PPC/s390: [turbofan] Collect invocation counts and compute relative call frequencies. · 3f0c8819
      bjaideep authored
      Port c7d7ca36
      
      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
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=v8:5267,v8:5372
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2338413002
      Cr-Commit-Position: refs/heads/master@{#39446}
      3f0c8819
  24. 09 Sep, 2016 1 commit
  25. 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
  26. 05 Sep, 2016 1 commit
  27. 02 Sep, 2016 1 commit
  28. 01 Sep, 2016 2 commits
  29. 31 Aug, 2016 1 commit
  30. 30 Aug, 2016 1 commit
  31. 29 Aug, 2016 1 commit