summaryrefslogtreecommitdiffstats
path: root/include/ruby/intern.h
Commit message (Collapse)AuthorAgeFilesLines
* * gc.c: add longlife garbage collection. [ruby-dev:38423]nari2009-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (NORMAL_HEAPS_USED): new macro. (LONGLIFE_ALLOCATE_HEAPS_MIN): ditto. (add_longlife_heaps_slot): new function. (rb_newobj_from_longlife_heap): ditto. (rb_newobj_longlife): ditto. (rb_node_newnode_longlife): ditto. (rb_gc_write_barrier): ditto. (remembered_set_recycle): ditto. (rb_gc_mark_remembered_set): ditto. (clear_mark_longlife_heaps): ditto. (gc_sweep_for_longlife): ditto. (assign_heap_slot): new argumnent to longlife heaps slot. (add_freelist): ditto. (gc_sweep): avoid lonlife heap slot. set longlife_collection flag at add heap. (rb_gc_force_recycle): avoid mark object and remembered_set object. (garbage_collect): add longlife collection. (rb_gc_start): invoke longlife collection. (gc_profile_record_get): for longlife collction profile. (gc_profile_result): ditto. * include/ruby/intern.h (rb_gc_write_barrier): declared. * include/ruby/ruby.h (FL_REMEMBERED_SET): renamed from FL_RESERVED. * debug.c (FL_REMEMBERED_SET): ditto. * insns.def (setinlinecache): insert write barrier. * vm_insnhelper.c (vm_method_search): ditto. * set_relation (set_relation): use longlife object. * vm.c (vm_define_method): ditto. * vm_core.h (NEW_INLINE_CACHE_ENTRY): ditto. * vm_method.c (rb_add_method): ditto. * class.c (rb_add_method): ditto. * node.h (NEW_NODE_LONGLIFE): new macro. (rb_node_newnode_longlife): declared. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (rb_define_method_id): use rb_define_notimplement_method_idakr2009-04-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | if rb_f_notimplement is given. (rb_define_protected_method): ditto. (rb_define_private_method): ditto. (rb_define_method): use rb_define_method_id. * include/ruby/intern.h (rb_f_notimplement): declared. (rb_define_notimplement_method_id): declared. * proc.c (method_inspect): show not-implemented. * vm_method.c (notimplement_body): new variable. (rb_notimplement_body_p): new function. (rb_method_boundp): return false if not implemented. (rb_f_notimplement): new function. (rb_define_notimplement_method_id): new function. * process.c (rb_f_fork): use rb_f_notimplement if not implemented. * file.c (rb_file_s_lchmod): use rb_f_notimplement if not implemented. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_fd_resize): does nothing on Win32.nobu2009-04-051-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (Init_stack): moved.nobu2009-04-051-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (RB_NUM_COERCE_FUNCS_NEED_OPID): macro tonobu2009-04-041-0/+1
| | | | | | | check compatibility. [ruby-dev:38162] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_fd_select): new function to call selectmatz2009-04-011-0/+2
| | | | | | | | | | using rb_fdset_t. * io.c (select_internal): use rb_thread_fd_select instead of rb_thread_select. based on the patch from Kengo Matsuyama. [ruby-dev:38221] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_hash_uint, rb_hash_start, rb_hash_end): use VALUEnobu2009-03-151-4/+4
| | | | | | | rather than unsigned int. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_subpat): accept capture name.akr2009-03-141-0/+1
| | | | | | | | | | | | | | | | | | | (rb_str_aref): follow above change. (rb_str_aref_m): pass the 2nd argument to rb_str_subpat. (rb_str_subpat_set): accept capture name. (rb_str_aset): follow above change. (rb_str_partition): ditto. (rb_str_aset_m): pass the 2nd argument to rb_str_subpat_set. * include/ruby/intern.h (rb_reg_backref_number): declared. * re.c (rb_reg_backref_number): defined. [ruby-core:21057] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_longjmp), include/ruby/intern.h (ruby_cleanup): fixednobu2009-03-021-1/+1
| | | | | | | prototypes. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_io_get_io): added prototype.nobu2009-02-271-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_hash_uint32, rb_hash_uint, rb_hash_start, rb_hash_end),mame2009-02-141-0/+4
| | | | | | | | | | | | include/ruby/intern.h: add Murmurhash API. [ruby-dev:37784] * complex.c (nucomp_hash), array.c (rb_ary_hash), time.c (time_hash), string.c (rb_str_hsah), object.c (rb_obj_hash), range.c (range_hash), struct.c (rb_struct_hash), hash.c (rb_any_hash), rational.c (nurat_hash): use Murmurhash. [ruby-dev:37784] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (compile_array_, defined_expr, iseq_compile_each): hidenobu2009-02-121-0/+1
| | | | | | | | | | | | | | and freeze internal literal objects, to prevent from modifying. [ruby-dev:37959] * iseq.c (insn_operand_intern): copy internal literal objects. * insns.def (putstring, duparray): ditto. * string.c (rb_str_replace): exported. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_run_exec_options_err): renamed fromakr2009-02-051-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rb_run_exec_options. (rb_exec_err): renamed from rb_exec. (rb_fork_err): renamed from rb_fork. (rb_spawn_err): renamed from rb_spawn. (rb_run_exec_options): declared with 1.9.1 compatible signature. (rb_exec): ditto. (rb_fork): ditto. (rb_spawn): ditto. * process.c (rb_run_exec_options_err): renamed from rb_run_exec_options. (rb_exec_err): renamed from rb_exec. (rb_fork_err): renamed from rb_fork. (rb_spawn_err): renamed from rb_spawn. (rb_run_exec_options): defined. (rb_exec): ditto. (rb_fork): ditto. (rb_spawn): ditto. * io.c: follow above change. * ext/pty/pty.c: follow above change. [ruby-dev:37893] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t,usa2009-01-131-0/+18
| | | | | | | | | | | | | | | rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset, rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type, functions, and macros for Windows. * win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand fd_array if needed. [ruby-core:19946] * win32/win32.c (copy_fd): new funcion for rb_w32_select(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * pack.c (pack_pack): template f should not accept non floatmatz2008-12-291-0/+1
| | | | | | | | values. [ruby-dev:37656] * object.c (rb_to_float): new function to type check floats. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_fork): propagete an error message from child to parent.akr2008-12-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (rb_f_exec): show details of error in child process on exception. (save_redirect_fd): add error message arguments. (run_exec_dup2): ditto. (run_exec_close): ditto. (run_exec_open): ditto. (run_exec_dup2_child): ditto. (run_exec_pgroup): ditto. (run_exec_rlimit): ditto. (rb_run_exec_options): ditto. (rb_exec): ditto. (rb_exec_atfork): ditto. (rb_spawn_internal): ditto. (rb_spawn): ditto. (rb_f_system): follow arguments change. (proc_daemon): ditto. (rb_f_spawn): show details of error in child process on exception. * io.c (popen_exec): add error message arguments. (pipe_open): show details of error in child process on exception. * include/ruby/intern.h (rb_run_exec_options): add error message arguments. (rb_exec): ditto. (rb_fork): ditto. (rb_spawn): ditto. * ext/pty/pty.c (chfunc): add error message arguments. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_extract_encoding_option): "internal_encoding: nil"matz2008-12-191-0/+1
| | | | | | | | | | to specify no-transcoding. and other corner case fixed. [ruby-dev:37496] * hash.c (rb_hash_lookup2): new function to look-up hash with default value. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * id.h, include/ruby/{intern,oniguruma}.h, regenc.h, regparse.h,nobu2008-12-091-1/+1
| | | | | | | template/*.tmpl: removed trailing garbage spaces. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (rb_get_load_path): returns the load path withoutnobu2008-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | touching. * load.c (rb_feature_provided): new function to return the loading path in addition to rb_provided(). * load.c (search_required): sets path if loading. * variable.c (autoload_provided): load paths are expanded to check if loading. * variable.c (autoload_node): keeps autoload mark while loading. [ruby-core:20235] * variable.c (rb_const_get_0): loops while autoload mark is set. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* move the previous comment.akr2008-12-021-26/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add comment for select behavior on file descriptors over FD_SETSIZE.akr2008-12-021-0/+26
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_{external,locale}_str_new_cstr): optimizednobu2008-11-111-0/+12
| | | | | | | versions for literal strings. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (rb_require_safe): destroys barrier after successfullynobu2008-11-111-0/+1
| | | | | | | | | | | | loaded, to get rid of loading same library again. [ruby-core:19798] * thread.c (rb_barrier_wait): can not wait destroyed barrier. * thread.c (rb_barrier_destroy): destroys barrier so that no longer waited. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_mutex_synchronize): fixed prototype.nobu2008-11-031-1/+1
| | | | | | | * thread.c (rb_mutex_synchronize): fixed function name. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_external_str_new_with_enc): no implicit strlen call.matz2008-10-221-0/+2
| | | | | | | | | | | | | | | | | | [ruby-dev:36854] * string.c (rb_external_str_new_cstr): new function to create string from external NUL terminated C string. * string.c (rb_locale_str_new_cstr): ditto. * ext/readline/readline.c: now use rb_locale_str_new_cstr(). * test/sdbm/test_sdbm.rb (TestSDBM#test_delete_with_block): deleted key to the block may be a copy of specified key. * test/dbm/test_dbm.rb (TestDBM#test_delete_with_block): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c, include/ruby/intern.h (rb_io_ascii8bit_binmode): externed.shugo2008-10-211-0/+1
| | | | | | | | * ext/socket/socket.c (init_sock): use rb_io_ascii8bit_binmode() instead of rb_io_binmode(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_locale_str_new): new function to convert stringmatz2008-10-201-0/+1
| | | | | | from locale to internal encoding. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_external_str_new): a new function to convert frommatz2008-10-181-0/+1
| | | | | | | | | | | | | | external encoding to internal encoding. if something went wrong, it returns a string with the external encoding. * string.c (rb_external_str_new_with_enc): same as above besides you can specify the source encoding. * ruby.c (ruby_set_argv): use rb_external_str_new() * ruby.c (set_arg0, ruby_script): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sprintf.c (rb_str_format): add %<name>s style named argumentmatz2008-09-301-0/+1
| | | | | | | | | | | | | | | support. a patch from Yusuke Endoh <mame at tsg.ne.jp> in [ruby-dev:35851]. * sprintf.c (rb_str_format): add gettext style named format (%{name}) support. inspired by [ruby-dev:35852]. * sprintf.c (GETNAMEARG): should raise KeyError exception when no named argument found. * hash.c (rb_hash_fetch): export fetch function. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c, include/ruby/intern.h (rb_thread_interrupted): added.ko12008-09-231-0/+1
| | | | | | | | * io.c: use VALUE of thead instead of rb_tread_t to check interrupts. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (rb_io_mode_modenum): moved fromakr2008-09-051-1/+0
| | | | | | | | include/ruby/intern.h. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_file_open_str): declared.akr2008-09-041-0/+1
| | | | | | | | | | | * io.c (rb_file_open_str): defined. * ext/zlib/zlib.c (gzfile_s_open): use rb_file_open_str instead of rb_file_open. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: rename RB_UBF_DFL toko12008-08-311-1/+2
| | | | | | | | | | RUBY_UBF_IO and RUBY_UBF_PROCESS. Because there is no default (universal) unblocking function. * ext/socket/socket.c, file.c, io.c, process.c, thread.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_file_s_absolute_path),nobu2008-08-291-0/+2
| | | | | | | (rb_file_absolute_path): prototyped. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_io_ungetbyte): added prototype.nobu2008-08-251-0/+1
| | | | | | | | | * io.c (rb_io_gets): use rb_io_getline_1 for unget buffer. * ruby.c (load_file): use rb_io_ungetbyte. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (nucomp_div): now behaves as quo.tadf2008-08-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * complex.c (nucomp_s_generic_p): has been removed. * complex.c (nucomp_to_s): adopts new form. * complex.c (nucomp_inspect): ditto. * complex.c (string_to_c_internal): ditto and supports polar form. * complex.c (rb_complex_polar): new. * rational.c (nurat_to_s): did not canonicalize. * rational.c (nurat_inspect): adopts new form. * rational.c (string_to_r_internal): ditto. * include/ruby/intern.h: added a declaration. * lib/complex.rb: added an obsolate class method. * lib/cmath.rb: use scalar? instead of generic?. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_check_ints): added. please note thatko12008-08-131-0/+1
| | | | | | | | | | | this function may cause ruby's thread switching. * include/ruby/intern.h: ditto. * regint.h: use rb_thread_check_ints() instead of RUBY_CHECK_INTS() directly. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_drop_bytes): new function to drop first bytes.nobu2008-08-121-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_drop): new function to drop first bytes.nobu2008-08-121-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu2008-08-121-8/+23
| | | | | | | | rb_usascii_str_new2): use with-length versions with strlen to optimize strlen, if optimized. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.nobu2008-08-091-1/+1
| | | | | | | [ruby-core:18207] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_sort_bang): respect overridden <=> for String andnobu2008-08-041-0/+1
| | | | | | | | | | | | | | | Fixnum. [ruby-core:17708] * include/ruby/node.h (NOEX_BASIC): basic definition method flag. * include/ruby/intern.h, vm_method.c (rb_method_basic_definition_p): new function to check if the method is not redefined after the initialization. * vm_method.c (rb_obj_respond_to): use rb_method_basic_definition_p. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_tmp_new): added.nobu2008-08-041-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h, sprintf.c (rb_str_catf, rb_str_vcatf): newnobu2008-07-221-0/+3
| | | | | | | | | functions. [ruby-dev:35597] * string.c (rb_str_capacity): new function to return the capacity. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_buf_new2): optimization for literals.nobu2008-07-211-0/+7
| | | | | | | * string.c (str_buf_cat): returns VALUE. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_buf_cat2, rb_str_cat2): optimizationnobu2008-07-211-20/+32
| | | | | | | for literals. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (HAVE_RUBY_RUBY_H): defines macros so thatnobu2008-07-121-1/+1
| | | | | | | | | | | extconf.rb do not need to check if headers exist under separated directory. [ruby-dev:35437] * include/{ruby,rubyio,rubysig}.h, include/ruby/intern.h: use "ruby/..." instead of <ruby/...>. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rename rb_pipe_internal to rb_pipe.akr2008-07-051-0/+1
| | | | | | | use rb_pipe in pipe_nocrash. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: remove prototypes about coverage.mame2008-07-031-2/+0
| | | | | | | | | | | | | | | | | | | * iseq.c (prepare_iseq_build): add prototype. * parse.y (coverage): ditto. * thread.c (clear_coverage): ditto. * thread.c (update_coverage): use rb_sourceline. * thread.c (rb_get_coverages): rename and move to vm.c. * vm.c (rb_vm_get_coverages): ditto. * ext/coverage/coverage.c: add rdoc. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/coverage/coverage.c, ext/coverage/extconf.rb: eliminatemame2008-07-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | COVERAGE__ and introduce coverage.so instead. How to measure coverage: (1) require "coverage.so", (2) require or load Ruby source file, and (3) Coverage.result will return the same hash as COVERAGE__. [ruby-dev:35324] * thread.c (rb_enable_coverages): start coverage measurement by using rb_add_event_hook. * thread.c (rb_get_coverages): returns current results of coverage measurement. * include/ruby/intern.h: add prototype for above two functions. * vm_core.h, vm.c: add field of coverages to rb_vm_t. * insns.def (trace): remove special handling for COVERAGE__. * iseq.c (prepare_iseq_build): switch COVERAGE__ to rb_get_coverages(). * parse.y (coverage): ditto. * thread.c (clear_coverage): ditto. * lib/coverage.rb: use coverage.so instead of COVERAGE__. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e