1. 20 Sep, 2016 1 commit
  2. 16 Sep, 2016 1 commit
  3. 14 Sep, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Collect invocation counts and compute relative call frequencies. · c7d7ca36
      bmeurer authored
      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=v8:5267,v8:5372
      R=mvstanton@chromium.org,rmcilroy@chromium.org,mstarzinger@chromium.org
      
      Review-Url: https://codereview.chromium.org/2337123003
      Cr-Commit-Position: refs/heads/master@{#39410}
      c7d7ca36
  4. 09 Sep, 2016 1 commit
  5. 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
  6. 05 Sep, 2016 1 commit
  7. 02 Sep, 2016 1 commit
  8. 01 Sep, 2016 1 commit
  9. 31 Aug, 2016 2 commits
    • adamk's avatar
      Remove CONST_LEGACY VariableMode · 7516fe1e
      adamk authored
      The only remaining use of this VariableMode is for the names of sloppy
      named function expressions. This patch instead uses CONST for such
      bindings (just as we do in strict mode) and instead marks those
      Variables specially. During code generation a new helper method,
      Variable::throw_on_const_assignment(), is called to decide whether
      to throw or silently ignore the assignment.
      
      Review-Url: https://codereview.chromium.org/2233673003
      Cr-Commit-Position: refs/heads/master@{#39052}
      7516fe1e
    • marja's avatar
      Separate CompilationInfo into its own file. · 06451354
      marja authored
      This way, many files which only need CompilationInfo but not compiler.h
      and its dependencies can include just compilation-info.h.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2284313003
      Cr-Commit-Position: refs/heads/master@{#39038}
      06451354
  10. 30 Aug, 2016 1 commit
  11. 29 Aug, 2016 2 commits
    • verwaest's avatar
      Replace CollectVariables with locals(), update callsites to walk locals instead · 1493bc8c
      verwaest authored
      This additionally gets rid of old approach to global shortcuts.
      
      BUG=v8:5209
      
      Review-Url: https://codereview.chromium.org/2287173002
      Cr-Commit-Position: refs/heads/master@{#38980}
      1493bc8c
    • bmeurer's avatar
      [turbofan] Remove special JSForInStep and JSForInDone. · 1915762c
      bmeurer authored
      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=epertoso@chromium.org
      BUG=v8:5267
      
      Review-Url: https://codereview.chromium.org/2289613002
      Cr-Commit-Position: refs/heads/master@{#38968}
      1915762c
  12. 25 Aug, 2016 1 commit
  13. 24 Aug, 2016 1 commit
  14. 22 Aug, 2016 2 commits
  15. 12 Aug, 2016 2 commits
  16. 11 Aug, 2016 1 commit
  17. 09 Aug, 2016 1 commit
  18. 08 Aug, 2016 1 commit
  19. 05 Aug, 2016 4 commits
  20. 04 Aug, 2016 1 commit
    • mstarzinger's avatar
      [turbofan] Fix missing bailout for accessors in literals. · 667d8ad0
      mstarzinger authored
      This adds the missing lazy bailout point when defining accessor pairs
      within object literals via Runtime::kDefineAccessorPropertyUnchecked.
      The runtime function in question can indeed trigger a lazy deopt due
      to a DependentCode::kPrototypeCheckGroup dependency.
      
      R=bmeurer@chromium.org
      TEST=mjsunit/regress/regress-crbug-633585
      BUG=chromium:633585
      
      Review-Url: https://codereview.chromium.org/2207413002
      Cr-Commit-Position: refs/heads/master@{#38336}
      667d8ad0
  21. 01 Aug, 2016 1 commit
  22. 21 Jul, 2016 1 commit
  23. 15 Jul, 2016 1 commit
  24. 13 Jul, 2016 1 commit
  25. 11 Jul, 2016 1 commit
  26. 06 Jul, 2016 1 commit
  27. 05 Jul, 2016 3 commits
  28. 30 Jun, 2016 1 commit
  29. 28 Jun, 2016 1 commit
  30. 27 Jun, 2016 2 commits