Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Apr 4, 2011
  1. Tooling can be enabled anytime, anywhere.

    Evan Phoenix authored
Commits on Apr 22, 2009
  1. @brixen

    Fixed profiler.

    brixen authored
    * The MethodEntry class now handles closing the called method or block
      instrumentation in the destructor. The cost is a slightly more complicated
      code block for the instrumentation but the benefit is assuring that all
      "leave()" calls match all "enter()" calls.
    * The profiler will only output 45 lines unless the configuration option
      -Xrbx.profiler.full_report is set.
    * A macro, TEST_CLASS(cls), was added to declare the test class as a friend
      of the implementation class. This enables the test class to access the
      implementation class's private data members directly and avoids the
      necessity of defining extraneous accessors on the implementation class
      merely for use in the tests.
    * Method id's in the profiler are now represented as uint64_t values
      constructed from the method name, its receiver class, and the method kind
      (i.e. instance method, class/module method, block). This ensures that the
      method id is unique among all threads (each thread has its own profiler
      instance) so that the results from different profilers can be merged.
    * The MethodEntry class holds the timers for methods and their callees. In the
      scenario where "a" calls "b" calls "a", there will be concurrent timers for
      both invocations of "a". As a result, the cumulative time in "a" may exceed
      the elapsed wall clock time during profiling. This scenario would also
      exists when "a" is called from two concurrently executing threads (assuming
      no GIL). The "self_seconds" time, which is the total time spent in a method
      less the time spent in any callees, should be consistent with wall clock
      time since any callees would be accumulating time concurrently if called
      from an invocation of its caller that was re-entered.
Commits on Apr 18, 2009
  1. @brixen
Commits on Apr 9, 2009
  1. @brixen
Commits on Jan 6, 2009
  1. @brixen
Commits on Sep 29, 2007
  1. @brixen
Something went wrong with that request. Please try again.