[ruby-cvs:50312] ko1:r43170 (trunk): * include/ruby/debug.h: add backtrace collecting APIs for profiler.

ko1 at ruby-lang.org ko1 at ruby-lang.org
Mon Oct 7 16:21:11 JST 2013


ko1	2013-10-07 16:21:11 +0900 (Mon, 07 Oct 2013)

  New Revision: 43170

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=43170

  Log:
    * include/ruby/debug.h: add backtrace collecting APIs for profiler.
    * int rb_profile_frames(int start, int limit, VALUE *buff, int *lines);
      Collect information of frame information.
    * VALUE rb_profile_frame_path(VALUE frame);
    * VALUE rb_profile_frame_absolute_path(VALUE frame);
    * VALUE rb_profile_frame_label(VALUE frame);
    * VALUE rb_profile_frame_base_label(VALUE frame);
    * VALUE rb_profile_frame_first_lineno(VALUE frame);
    * VALUE rb_profile_frame_classpath(VALUE frame);
    * VALUE rb_profile_frame_singleton_method_p(VALUE frame);
      Get information about each frame.
      These APIs are designed for profilers, for example, no objectallocation,
      and enough information for profilers.
      In this version, this API collects only collect Ruby level frames.
      This issue will be fixed after Ruby 2.1.
    * vm_backtrace.c: implement above APIs.
    * iseq.c (rb_iseq_klass): return local_iseq's class.

  Modified files:
    trunk/ChangeLog
    trunk/include/ruby/debug.h
    trunk/iseq.c
    trunk/vm_backtrace.c


More information about the ruby-cvs mailing list