[ruby-cvs:68019] ko1:r60838 (trunk): introduce `trace_events' info for iseq.

ko1 at ruby-lang.org ko1 at ruby-lang.org
Sat Nov 18 18:39:41 JST 2017


ko1	2017-11-18 18:39:41 +0900 (Sat, 18 Nov 2017)

  New Revision: 60838

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=60838

  Log:
    introduce `trace_events' info for iseq.
    
    * vm_core.h (rb_iseq_t::aux): add `trace_events` which represents
      which events are enabled on this iseq. With this information,
      we can skip useless trace-on changes for ISeqs.
    
    * vm_trace.c (RUBY_EVENTS_TRACE_BY_ISEQ): moved to iseq.h and rename it
      with ISEQ_TRACE_EVENTS.
    
    * iseq.h: introduce ISEQ_USE_COMPILE_DATA iseq (imemo) flag to represent
      COMPILE_DATA is available. In other words, iseq->aux.trace_events is not
      available when this flag is set.
      * ISEQ_COMPILE_DATA() is changed from a macro.
      * ISEQ_COMPILE_DATA_ALLOC() is added.
      * ISEQ_COMPILE_DATA_CLEAR() is added.
    
    * iseq.c: use them.

  Modified files:
    trunk/compile.c
    trunk/iseq.c
    trunk/iseq.h
    trunk/vm_core.h
    trunk/vm_trace.c


More information about the ruby-cvs mailing list