1. 20 Oct, 2017 1 commit
    • Camillo Bruni's avatar
      [log] Consistently escape log entries · d06cb586
      Camillo Bruni authored
      Implicitly escape all output that is passed to Log::MessageBuilder.
      We escape non-printable characters and the log field separator ','
      using the \x00 and \u0000 escape sequences.
      
      Example:
      Before: event-foo,"space: ","comma: ,","double quotes: """
      After:  event-foo,space: ,comma: \x2C,double quotes: "
      
      This might slightly impact human readability of the log files in
      extreme cases. However, most strings do not contain any escaped
      characters.
      
      Bug: 
      Change-Id: Ic78f6d9932367d02f9f3c3f70b41b5c283bdf880
      Reviewed-on: https://chromium-review.googlesource.com/728332
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48805}
      d06cb586
  2. 22 Mar, 2017 1 commit
  3. 02 May, 2016 1 commit
  4. 03 Jul, 2013 1 commit
  5. 19 Apr, 2013 1 commit
  6. 12 Apr, 2013 1 commit
  7. 28 Nov, 2012 1 commit
  8. 21 Mar, 2011 1 commit
  9. 22 Feb, 2011 1 commit
    • mikhail.naganov@gmail.com's avatar
      Fix CPU profiling for Crankshaft. · 56788625
      mikhail.naganov@gmail.com authored
      The main issue was due to multiple recompilations of functions.  Now
      code objects are grouped by function using SFI object address.
      JSFunction objects are no longer tracked, instead we track SFI object
      moves. To pick a correct code version, we now sample return addresses
      instead of JSFunction addresses.
      
      tools/{linux|mac|windows}-tickprocessor scripts differentiate
      between code optimization states for the same function
      (using * and ~ prefixes introduced earlier).
      
      DevTools CPU profiler treats all variants of function code as
      a single function.
      
      ll_prof treats each optimized variant as a separate entry, because
      it can disassemble each one of them.
      
      tickprocessor.py not updated -- it is deprecated and will be removed.
      
      BUG=v8/1087,b/3178160
      TEST=all existing tests pass, including Chromium layout tests
      
      Review URL: http://codereview.chromium.org/6551011
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      56788625
  10. 21 Jan, 2010 1 commit
    • mikhail.naganov@gmail.com's avatar
      Fix issue 553: function frame is skipped in profile when compare stub is called. · 999e3fca
      mikhail.naganov@gmail.com authored
      The problem appeared due to a fact that stubs doesn't create a stack
      frame, reusing the stack frame of the caller function. When building
      stack traces, the current function is retrieved from PC, and its
      callees are retrieved by traversing the stack backwards. Thus, for
      stubs, the stub itself was discovered via PC, and then stub's caller's
      caller was retrieved from stack.
      
      To fix this problem, a pointer to JSFunction object is now captured
      from the topmost stack frame, and is saved into stack trace log
      record. Then a simple heuristics is applied whether a referred
      function should be added to decoded stack, or not, to avoid reporting
      the same function twice (from PC and from the pointer.)
      
      BUG=553
      TEST=added to mjsunit/tools/tickprocessor
      
      Review URL: http://codereview.chromium.org/546089
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      999e3fca