summaryrefslogtreecommitdiffstats
path: root/vm.c
Commit message (Collapse)AuthorAgeFilesLines
* * insnhelper.ci (vm_call_method): pass mn->nd_clss toshugo2007-11-111-11/+18
| | | | | | | | | vm_call_cfunc() instead of klass. * vm.c (rb_thread_method_id_and_klass): traverse parent_iseq. * thread.c (call_trace_proc): use rb_thread_method_id_and_klass(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_invoke_method): check if invoked in function style.nobu2007-11-091-0/+8
| | | | | | | | | | | | | [ruby-core:13245] * insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): stores and returns VM calling flags. * vm.c (rb_vm_cfunc_funcall_p): returns if the current method is invoked in function style. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: export rb_ivar_foreach.akr2007-09-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/ruby/ruby.h: modify struct RObject and RClass for optimizing T_OBJECT space. [ruby-dev:31853] (ROBJECT_LEN, ROBJECT_PTR) (RCLASS_IV_TBL, RCLASS_M_TBL, RCLASS_SUPER, RCLASS_IV_INDEX_TBL) (RMODULE_IV_TBL, RMODULE_M_TBL, RMODULE_SUPER): abstract accessor defined. * variable.c: support the modified RObject and RClass. * object.c: ditto. * class.c: ditto. * gc.c: ditto. * marshal.c: ditto. * eval_method.ci: use the abstract accessor. * insns.def: ditto. * proc.c: ditto. * struct.c: ditto. * eval.c: ditto. * error.c: ditto. * vm.c: ditto. * insnhelper.ci: ditto. * ext/digest/digest.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_check): check for ASCII-compatibilities.nobu2007-09-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * parse.y (parser_tokadd_string, parser_parse_string, parser_here_document, parser_yylex): set encoding to US-ASCII. * parse.y (rb_enc_symname_p): check if valid with encoding. * parse.y (rb_intern3): let symbols have encoding. * string.c (rb_str_hash): add encoding index. * string.c (rb_str_comparable, rb_str_equal, rb_str_eql): check if compatible encoding. * string.c (sym_inspect): made encoding aware. * insns.def (opt_eq): compare with encoding. * include/ruby/encoding.h (rb_enc_asciicompat): check if ASCII compatible. * include/ruby/encoding.h (rb_enc_get_index): added prototype. * include/ruby/intern.h (rb_str_comparable, rb_str_equal): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (struct rb_thread_struct): removed first_func_arg andnobu2007-08-201-6/+5
| | | | | | | reuse first_args instead. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_bmethod): fix to propagate informationko12007-08-191-10/+3
| | | | | | | | | | | that this proc is "from Method". [ruby-dev:31490] * proc.c (method_proc, rb_mod_define_method): ditto. * vm.c (vm_invoke_proc_core): removed. * vm_core.h: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_call_bmethod),ko12007-08-181-3/+13
| | | | | | | | | | vm.c (vm_invoke_proc_core): fix to do not restore $SAFE when proc invoked by bmethod. * vm_core.h: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (aix): enable shared by default.nobu2007-08-161-2/+4
| | | | | | | | | | * configure.in (aix): for 64bit-mode AIX. [ruby-dev:31401] + use CC for LDSHARED if non-gcc, + moved -G option from *LDFLAGS to LDSHARED, + set -brtl only in XLDFLAGS. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci, insns.def: move some statements to functions.ko12007-08-061-2/+1
| | | | | | | | * vm.c, vm.h, vm_evalbody.ci: fix include/typedef places. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c, compile.h (DECL_ANCHOR, INIT_ANCHOR): split not tonobu2007-07-201-28/+22
| | | | | | | | | | | | | | | | initialize aggregations with dynamic values. [ruby-talk:259306] * eval.c (rb_protect): not to initialize aggregations with dynamic values. [ruby-talk:259306] * gc.c (mark_current_machine_context): ditto. * thread.c (thgroup_list, call_trace_func): ditto. * vm.c (vm_init_redefined_flag): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (vm_free): clear free'ed living_threads field.matz2007-07-131-0/+1
| | | | | | [ruby-dev:31163] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * blockinlining.c: remove "yarv" prefix.ko12007-07-121-18/+415
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * array.c, numeric.c: ditto. * insnhelper.ci, insns.def, vm_evalbody.ci: ditto. * yarvcore.c: removed. * yarvcore.h: renamed to core.h. * cont.c, debug.c, error.c, process.c, signal.c : ditto. * ext/probeprofiler/probeprofiler.c: ditto. * id.c, id.h: added. * inits.c: ditto. * compile.c: rename internal functions. * compile.h: fix debug flag. * eval.c, object.c, vm.c: remove ruby_top_self. use rb_vm_top_self() instead. * eval_intern.h, eval_load: ditto. * gc.c: rename yarv_machine_stack_mark() to rb_gc_mark_machine_stack(). * insnhelper.h: remove unused macros. * iseq.c: add iseq_compile() to create iseq object from source string. * proc.c: rename a internal function. * template/insns.inc.tmpl: remove YARV prefix. * thread.c: * vm.c (rb_iseq_eval): added. * vm.c: move some functions from yarvcore.c. * vm_dump.c: fix to remove compiler warning. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c, insnhelper.ci, vm.c: change cref index (-1 -> 2).ko12007-07-101-3/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c, insnhelper.ci: fix svar interface.ko12007-07-101-27/+26
| | | | | | | | | | | | * compile.c (iseq_compile_each), yarvcore.h: fix to use new svar interface for flip flop. * eval.c: ditto. * insns.def: ditto. * include/ruby/intern.h: remove "rb_svar()" declaration. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci (vm_yield_setup_args), vm.c, insns.def:ko12007-07-071-1/+16
| | | | | | | | | | fix to pass nil as block parameter to yielded block. [ruby-dev:31147] * bootstraptest/test_block.rb: add a test for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h: rename rb_control_frame_t#magic to flag.ko12007-07-051-7/+7
| | | | | | | | | | * vm.h: add VM_FRAME_TYPE() and VM_FRAME_FLAG(). * cont.c, insnhelper.ci, insns.def, vm.c, vm_dump.c, vm_evalbody.ci, yarvcore.c: apply above changes. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each): add break catch point.ko12007-07-051-11/+9
| | | | | | | | | | * insns.def (throw): support correct "break" and "return". this commit achieve that "make test" passes all tests. * vm.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c: rename iseq_translate_direct_threaded_code()ko12007-07-021-3/+10
| | | | | | | | | | | | | to iseq_translate_threaded_code(). * eval_intern.h, yarvcore.h: mv EXEC_EVENT_HOOK() and exec_event_hooks() to yarvcore.h. * insnhelper.ci, vm.c: mv yarv_finish_insn_seq to vm.c. * insns.def (opt_call_c_function): fix to use RESTORE_REGS(). * iseq.c (rb_iseq_build_for_ruby2cext): fix to allocate iseq. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h, compile.c, insnhelper.ci, iseq.c, vm.c:ko12007-07-011-1/+1
| | | | | | | | | | | | rename structure names and field names. * insnhelper.h, insns.def: add GET_CONST_INLINE_CACHE(). * iseq.c: add rb_iseq_build_for_ruby2cext(). * yarvcore.h, vm.h: move declaration of rb_insn_func_t to yarvcore.h. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h: some refactoring on rb_iseq_t.ko12007-06-301-3/+3
| | | | | | | | | rename some variable names, add comments, etc. * compile.c, iseq.c, proc.c, vm.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk (run.gdb): fix to load $(srcdir)/.gdbinitko12007-06-271-1/+1
| | | | | | | | | * vm.c (rb_vm_set_finish_env): add a cast. * vm.h: support __fastcall for MSVC. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_evalbody.ci: support OPT_CALL_THREADED_CODE.ko12007-06-271-3/+4
| | | | | | | | | * insns.def, vm.c, vm.h: ditto. * vm.h: add VM_CFP_CNT() and VM_SP_CNT(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c (rb_fiber_s_new): revert initializing VM stack.ko12007-06-261-8/+7
| | | | | | | | | | | | | * yarvcore.c (th_init2): ditto. * vm.c, vm.h: fix to stop using Qundef on VM stack. According to this change, VM stack should not include Qundef value. * insns.def (putundef): removed. * compile.c (iseq_compile_each): ditto. * eval.c (eval): fix spacing. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.ci, vm.c: complete block parameter support.ko12007-06-251-3/+4
| | | | | | | | | | | post arguments, optional arguments, block argument. * compile.c, parse.y: fix {|a|} parameter. * insnshelper.ci, insns.def: revert caller_setup_args() option (need_block_check) parameter. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.h: add RUBY_ prefix to debug macros.ko12007-06-251-207/+122
| | | | | | | | | | | | * cont.c, proc.c, yarvcore.c, * gc.c: define ruby_gc_debug_indent variable to debug mark/free. * vm.c, insnhelper.ci: rename some functions to vm_* or rb_vm_*. move some functions, definitions, declarations to suitable files. * eval.c, yarvcore.h, eval_error.ci, insnhelper.ci: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c: remove ruby_current_node and change eval() prototype.ko12007-06-241-0/+1
| | | | | | | | | | | fix to use rb_sourcefile/line() instead of ruby_sourcefile/line. * error.c, eval_error.ci, eval_load.c, eval_safe.ci, gc.c, include/ruby/intern.h, parse.y, process.c, ruby.c: ditto. * vm.c: fix spaces. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * call_cfunc.ci: removed.ko12007-06-241-771/+13
| | | | | | | | | | | | | | | | * insnhelper.ci: added. this function includes all functions that vm insns need. * common.mk: ditto. * insnhelper.h, vm.h, vm.c: move some declaration. * gc.h: remove GC_CHECK() macro because GC.stress is more useful. * compile.c, iseq.c, vm_dump: ditto. * gc.h, thread.c: move a prototype decalaration. * debug.c, debug.h: rename some functions. * compile.h: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c: some refactoring.ko12007-06-241-131/+126
| | | | | | | | | | | | | | * rename th_* to vm_*. * remove unused variables functions. * add prototypes. * blockinlining.c, compile.c, cont.c, eval.c, eval_intern.h, eval_jump.h, eval_load.c, inits.c, insns.def, iseq.c, parse.y, proc.c, process.c, signal.c, thread.c, vm.c, vm_dump.c, vm_evalbody.ci, yarvcore.c, yarvcore.h: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insn_send.ci: removed.ko12007-06-241-34/+138
| | | | | | | | | | | | | | | | * common.mk: ditto. * vm.c (vm_call_bmethod), isnsn.def: added. fix to use this function instead of using goto. * vm.c (vm_call_bmethod): renamed from th_invoke_bmethod(). * vm.c (vm_method_missing): renamed from eval_methdo_missing(). * vm_evalbody.ci: remove tmp_* variables. * insnhelper.h: add some macros. * insns.def: forbid zsuper from method defined by define_method(). * test/ruby/test_super.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_macro.def: removed.ko12007-06-241-1/+0
| | | | | | | | | | | | * insn_send.ci: added. this file includes send instruction body. * common.mk: ditto. * insns.def: ditto. * tool/insns2vm.rb: ditto. * vm.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.h (RESTORE_REGS): add do/while(0) around macro.ko12007-06-241-2/+62
| | | | | | | | | * vm.c, vm_macro.def: remove macro_eval_invoke_func() and add vm_setup_method(). use it instead. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c, vm_macro.def : remove macro_eval_invoke_cfunc() andko12007-06-241-0/+28
| | | | | | | | add vm_call_cfunc(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def, vm.c: add/fix stack overflow check.ko12007-06-241-3/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insnhelper.h: change CHECK_STACK_OVERFLOW() to throw exception.ko12007-06-241-0/+62
| | | | | | | | | | | * vm.c (caller_setup_arg), vm_macro.def: remove macro_eval_setup_send_arguments and add caller_setup_arg(). * insns.def: ditto. * bootstraptest/test_method.rb: add splat arg tests. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (callee_setup_arg): added. support correct post arg.ko12007-06-241-0/+97
| | | | | | | | | | | | | | * vm_macro.def (macro_eval_invoke_func): fix to use callee_setup_arg. * compile.c (set_arguments): adjust for above changes. * compile.c (iseq_compile_each): ditto. * iseq.c (ruby_iseq_disasm): ditto. * yarvcore.h: add rb_iseq_t#post_arg_start and arg_size. * bootstraptest/test_method.rb: add post arg tests. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval_load.c (rb_require_safe, ruby_init_ext): load with ruby levelnobu2007-06-181-0/+15
| | | | | | | | | | cfp. [ruby-core:10779] * eval_intern.h, vm.c (rb_vm_call_cfunc): new function to call a function with ruby level cfp. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (env_mark): fix to mark block.proc.ko12007-06-171-6/+8
| | | | | | | | * vm.c (th_make_proc_from_block): set created proc to block->proc. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (th_yield_setup_args): |v| should work as |v,|.ko12007-06-151-11/+0
| | | | | | | | | | | | | | ex) def m;yield 1, 2; end; m{|v| p v} #=> 1 * parse.y: apply above change for "for" statement. * test/ruby/test_assignment.rb: ditto * test/ruby/test_basicinstructions.rb: ditto. * test/ruby/test_iterator.rb: ditto. * test/ruby/test_yield.rb: ditto. * compile.c (iseq_compile_each): fix debug. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby: moved public headers.nobu2007-06-101-3/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (new_yield), compile.c (iseq_compile_each): fixko12007-06-051-4/+16
| | | | | | | | | | | | | | | passing parameter. * eval.c, eval_jump.h: simplify rb_yield*. * proc.c (proc_mark): fix to mark proc->block.proc. * proc.c (Init_Proc): add Proc#lambda? * test/ruby/test_lambda.rb: add some tests. * vm.c (invoke_block): fix to check lambda block or not. * vm.c (th_yield_setup_args): fix to check arguments size when lambda block. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (invokeblock): check block is created by lambdako12007-06-051-0/+15
| | | | | | | | | or Proc.new. * vm.c (block_proc_is_lambda): added. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c: fixed indentation.nobu2007-06-051-3/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c, dir.c, eval.c, eval_jump.h, eval_method.h, numeric.c,nobu2007-06-051-82/+82
| | | | | | | | pack.c, parse.y, re.c, thread.c, vm.c, vm_dump.c, call_cfunc.ci, thread_pthread.ci, thread_win32.ci: fixed indentation. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c (cont_capture): store all local variables in heapko12007-05-301-1/+10
| | | | | | | | | | | ([ruby-dev:30832]). * vm.c (th_stack_to_heap): added. * test/ruby/test_continuation.rb: add a test for above. * eval_intern.h (th_get_ruby_level_cfp): fix to clean code. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c, vm_macro.def: support tail call optimizationko12007-05-211-0/+2
| | | | | | | | | | | | | (on default, this feature is not enabled). * iseq.c, compile.c, vm_opts.h: add "tailcall_optimization" option. * sample/test.rb (test_ok): fix to adjust tailcall stack layout. * insns.def, vm.c, compile.c, yarvcore.c, yarvcore.h: add opt_gt, opt_le instructions. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_evalbody.ci, insns.def, vm.c, tool/insns2vm.rb (rb_num_t):nobu2007-05-031-3/+3
| | | | | | | | | renamed to get rid of name clash. [ruby-dev:30504] * yarvcore.c (ruby_thread_init): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c, yarvcore.h, yarvcore.c, insns.def: fix to mark VM stackko12007-05-021-7/+10
| | | | | | | | in correct range. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c: use Qtrue instead of 2.ko12007-05-021-12/+25
| | | | | | | | * vm.c, insns.def: support "lambda" calling convention. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h, compile.c (set_arguments): support post arguments.ko12007-05-011-12/+19
| | | | | | | | | | | | * test/ruby/test_method.rb: add tests for above. * test/ruby/test_proc.rb: ditto. * proc.c: fix an arity bug ([ruby-core:11029]). * vm.c, vm.h, insns.def, vm_dump.h: fix bmethod process. * vm.c: support block argument on block parameter. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * yarvcore.h: remove rb_control_frame_t#callee_id.ko12007-04-251-5/+48
| | | | | | | | | | | | | | * vm_macro.def: ditto. * eval_intern.h (exec_event_hooks): fix to check event flags * eval_intern.h (EXEC_EVENT_HOOK): fix to re-check event flags. * ext/probeprofiler : added. this profiler is sampling based profiler. * vm.c: add rb_thread_current_status() API for probeprofiler. * thread.c (rb_thread_execute_interrupts): add comments. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e