1. 12 Feb, 2015 3 commits
    • loislo's avatar
      CPUProfiler: Push deopt reason further to ProfileNode. · d23ab23b
      loislo authored
      1) create beefy RelocInfo table when cpu profiler is active, so if a function
      was optimized when profiler was active RelocInfo would get separate DeoptInfo
      for the each deopt case.
      
      2) push DeoptInfo from CodeEntry to ProfileNode.
      When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
      On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.
      
      Sample profile dump.
      [Top down]:
          0  (root) 0 #1
          1     29 #2
          1      test 29 #3
          2        opt_function 29 #4
          2          opt_function 29 #5
                         deopted at 118 with reason 'not a heap number'
                         deopted at 137 with reason 'division by zero'
      
      BUG=452067
      LOG=n
      
      Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54
      Cr-Commit-Position: refs/heads/master@{#26615}
      
      Review URL: https://codereview.chromium.org/919953002
      
      Cr-Commit-Position: refs/heads/master@{#26630}
      d23ab23b
    • loislo's avatar
      Revert of CPUProfiler: Push deopt reason further to ProfileNode. (patchset #1... · cb6ea146
      loislo authored
      Revert of CPUProfiler: Push deopt reason further to ProfileNode. (patchset #1 id:1 of https://codereview.chromium.org/919953002/)
      
      Reason for revert:
      static initializers broke the build
      
      Original issue's description:
      > CPUProfiler: Push deopt reason further to ProfileNode.
      >
      > 1) create beefy RelocInfo table when cpu profiler is active, so if a function
      > was optimized when profiler was active RelocInfo would get separate DeoptInfo
      > for the each deopt case.
      >
      > 2) push DeoptInfo from CodeEntry to ProfileNode.
      > When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
      > On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.
      >
      > Sample profile dump.
      > [Top down]:
      >     0  (root) 0 #1
      >     1     29 #2
      >     5      test 29 #3
      >     3        opt_function 29 #4
      >                  deopted at 52 with reason 'not a heap number'
      >                  deopted at 71 with reason 'division by zero'
      >
      > BUG=452067
      > LOG=n
      >
      > Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54
      > Cr-Commit-Position: refs/heads/master@{#26615}
      
      TBR=jarin@chromium.org,svenpanne@chromium.org,yurys@chromium.org,alph@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=452067
      
      Review URL: https://codereview.chromium.org/915173005
      
      Cr-Commit-Position: refs/heads/master@{#26616}
      cb6ea146
    • loislo's avatar
      CPUProfiler: Push deopt reason further to ProfileNode. · ce8701b2
      loislo authored
      1) create beefy RelocInfo table when cpu profiler is active, so if a function
      was optimized when profiler was active RelocInfo would get separate DeoptInfo
      for the each deopt case.
      
      2) push DeoptInfo from CodeEntry to ProfileNode.
      When deopt happens we put the info collected on #1 into CodeEntry and record stack sample.
      On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list.
      
      Sample profile dump.
      [Top down]:
          0  (root) 0 #1
          1     29 #2
          5      test 29 #3
          3        opt_function 29 #4
                       deopted at 52 with reason 'not a heap number'
                       deopted at 71 with reason 'division by zero'
      
      BUG=452067
      LOG=n
      
      Review URL: https://codereview.chromium.org/919953002
      
      Cr-Commit-Position: refs/heads/master@{#26615}
      ce8701b2
  2. 10 Feb, 2015 1 commit
    • loislo's avatar
      Propagate DeoptInfo to cpu-profiler · 86cae163
      loislo authored
      1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo
      because it also has raw position. Also the old name clashes with DeoptReason enum.
      
      2) c_entry_fp assignment call was added to EntryGenerator::Generate
      So we can calculate sp and have a chance to record the stack for the deopting function.
      btw it makes the test stable.
      
      3) new kind of CodeEvents was added to cpu-profiler
      
      4) GetDeoptInfo method was extracted from PrintDeoptLocation.
      So it could be reused in cpu profiler.
      
      BUG=452067
      LOG=n
      
      Review URL: https://codereview.chromium.org/910773002
      
      Cr-Commit-Position: refs/heads/master@{#26545}
      86cae163
  3. 09 Feb, 2015 4 commits
  4. 07 Feb, 2015 1 commit
  5. 06 Feb, 2015 1 commit
  6. 05 Feb, 2015 4 commits
  7. 04 Feb, 2015 2 commits
    • loislo's avatar
      Revert of Externalize deoptimization reasons. (patchset #6 id:100001 of... · bfc5d83b
      loislo authored
      Revert of Externalize deoptimization reasons. (patchset #6 id:100001 of https://codereview.chromium.org/874323003/)
      
      Reason for revert:
      it broke the build
      
      Original issue's description:
      > Externalize deoptimization reasons.
      >
      > 1) The hardcoded strings were converted into DeoptReason enum.
      >
      > 2) Deopt comment were converted into a pair location and deopt reason entries so
      > the deopt reason tracking mode would less affect the size of the RelocInfo table and heap.
      >
      > 3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table.
      >
      > BUG=452067
      > LOG=n
      >
      > Committed: https://crrev.com/c49820e45b57f128a98690940875c049f612dde6
      > Cr-Commit-Position: refs/heads/master@{#26434}
      
      TBR=alph@chromium.org,mstarzinger@chromium.org,svenpanne@chromium.org,yurys@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=452067
      
      Review URL: https://codereview.chromium.org/892843007
      
      Cr-Commit-Position: refs/heads/master@{#26435}
      bfc5d83b
    • loislo's avatar
      Externalize deoptimization reasons. · c49820e4
      loislo authored
      1) The hardcoded strings were converted into DeoptReason enum.
      
      2) Deopt comment were converted into a pair location and deopt reason entries so
      the deopt reason tracking mode would less affect the size of the RelocInfo table and heap.
      
      3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table.
      
      BUG=452067
      LOG=n
      
      Review URL: https://codereview.chromium.org/874323003
      
      Cr-Commit-Position: refs/heads/master@{#26434}
      c49820e4
  8. 26 Jan, 2015 1 commit
  9. 22 Jan, 2015 1 commit
  10. 20 Jan, 2015 1 commit
  11. 22 Dec, 2014 1 commit
  12. 12 Dec, 2014 2 commits
  13. 10 Nov, 2014 2 commits
  14. 05 Nov, 2014 1 commit
  15. 21 Oct, 2014 1 commit
  16. 13 Oct, 2014 1 commit
  17. 11 Oct, 2014 1 commit
  18. 29 Sep, 2014 1 commit
  19. 25 Sep, 2014 1 commit
  20. 24 Sep, 2014 3 commits
  21. 23 Sep, 2014 1 commit
    • weiliang.lin@intel.com's avatar
      X87: Further improve deopt reason output · 803761a9
      weiliang.lin@intel.com authored
      port r24123.  R24123 does not cover all required code change in X87.
      
      original commit message:
         Further improve deopt reason output.
         * Make the detailed deopt reason mandatory on x64, other platforms will
           follow in separate CLs.
      
         * Extracted and improved jump table entry sharing logic: When --trace-deopt
           is on, we get separate entries for different deopt reasons. This enables
           us to distinguish the several reasons single instructions can have.
      
         * Don't emit superfluous jump table comments: The bailout ID is still visible,
           and the jump table entry number is not interesting (but easy to determine
           if really needed).
      
         * Unify the internal name of the jump table member across platforms.
      
      BUG=
      R=weiliang.lin@intel.com
      
      Review URL: https://codereview.chromium.org/589313002
      
      Patch from Chunyang Dai <chunyang.dai@intel.com>.
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      803761a9
  22. 22 Sep, 2014 4 commits
  23. 20 Sep, 2014 1 commit
  24. 19 Sep, 2014 1 commit