1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/include/ruby
ko1 4a4a702e61 * vm_trace.c, vm_core.h: simplify tracing mechanism.
(1) add rb_hook_list_t data structure which includes
  hooks, events (flag) and `need_clean' flag.
  If the last flag is true, then clean the hooks list.
  In other words, deleted hooks are contained by `hooks'.
  Cleanup process should run before traversing the list.
  (2) Change check mechanism
  See EXEC_EVENT_HOOK() in vm_core.h.
  (3) Add `raw' hooks APIs
  Normal hooks are guarded from exception by rb_protect().
  However, this protection is overhead for too simple
  functions which never cause exceptions.  `raw' hooks
  are executed without protection and faster.
  Now, we only provide registration APIs.  All `raw'
  hooks are kicked under protection (same as normal hooks).
* include/ruby/ruby.h: remove internal data definition and
  macros.
* internal.h (ruby_suppress_tracing), vm_trace.c: rename
  ruby_suppress_tracing() to rb_suppress_tracing()
  and remove unused function parameter.
* parse.y: fix to use renamed rb_suppress_tracing().
* thread.c (thread_create_core): no need to set RUBY_VM_VM.
* vm.c (mark_event_hooks): move definition to vm_trace.c.
* vm.c (ruby_vm_event_flags): add a global variable.
  This global variable represents all of Threads and VM's
  event masks (T1#events | T2#events | ... | VM#events).
  You can check the possibility kick trace func or not
  with ruby_vm_event_flags.
  ruby_vm_event_flags is maintained by vm_trace.c.
* cont.c (fiber_switch, rb_cont_call): restore tracing status.
  [Feature #4347]
* test/ruby/test_continuation.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-16 11:41:24 +00:00
..
backward [Bug #6607] 2012-06-19 09:43:53 +00:00
defines.h * fix ANSI C compliance of r33757 2011-11-15 05:05:35 +00:00
encoding.h * parse.y (rb_check_id_cstr): new function to check if ID is 2012-04-11 13:31:23 +00:00
intern.h * eval.c (rb_mod_using): new method Module#using. [experimental] 2012-08-02 11:34:19 +00:00
io.h process.c: try conversion at redirection 2012-07-27 09:25:54 +00:00
missing.h * include/ruby/missing.h: include math.h before checking INFINITY 2012-06-19 21:24:31 +00:00
oniguruma.h * Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820] 2012-02-17 07:42:23 +00:00
re.h * configure.in (XCFLAGS): use -fvisibility=hidden if possible. 2010-07-21 21:38:25 +00:00
regex.h * configure.in (XCFLAGS): use -fvisibility=hidden if possible. 2010-07-21 21:38:25 +00:00
ruby.h * vm_trace.c, vm_core.h: simplify tracing mechanism. 2012-08-16 11:41:24 +00:00
st.h * st.c (st_update): pass pointer to key to the callback function. 2012-03-29 14:50:20 +00:00
subst.h * include/ruby/{subst.h,win32.h}, ext/socket/rubysocket.h: revert 2011-12-05 05:29:31 +00:00
thread.h * thread.c (rb_thread_call_without_gvl2): added. 2012-07-18 06:47:43 +00:00
util.h * util.c, include/ruby/util.h (ruby_add_suffix): remove the function. 2011-08-03 07:10:56 +00:00
version.h * include/ruby/version.h: RUBY_API_VERSION 2.0.0 2012-01-06 14:13:27 +00:00
vm.h * vm.c (ruby_vm_at_exit): new API. This enables extension libs to 2010-12-02 11:06:32 +00:00
win32.h win32.c: rb_w32_inet_ntop should be const 2012-07-29 14:56:52 +00:00