Граф коммитов

34 Коммитов

Автор SHA1 Сообщение Дата
nobu 8022385ba4 * debug.c (ruby_set_debug_option): define always for binary
compatibility with debug env enabled binary.

* signal.c (ruby_enable_coredump): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-13 02:04:10 +00:00
nobu 87af442f94 * suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-21 09:10:23 +00:00
nobu a20cc16b20 * debug.c (RUBY_NODE_LMASK): may exceed int limit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-05 04:31:48 +00:00
nobu 4f041dafbe * debug.c, parse.y: fixed types.
* node.h (nd_line): limit to int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14 07:39:16 +00:00
nari de5f15bbe4 * gc.c: reject unused longlife gc.
* debug.c: ditto.

* include/ruby/intern.h: ditto.

* include/ruby/ruby.h: ditto.

* iseq.c: ditto.

* node.h: ditto.

* vm_insnhelper.c: ditto.

* vm_insnhelper.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-10 02:40:34 +00:00
nobu a2d42dab14 * debug.c (ruby_dummy_gdb_enums): made public. [ruby-dev:39001]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-05 09:46:07 +00:00
nobu 1b4d0c76de * template/id.h.tmpl, id.h (enum ruby_method_ids): added some IDs.
* debug.c (dummy_gdb_enums): added enum ruby_method_ids.

* .gdbinit (rp): improved output of Symbol.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-21 13:17:54 +00:00
nari 57b83a5191 * gc.c: add longlife garbage collection. [ruby-dev:38423]
(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: svn+ssh://ci.ruby-lang.org/ruby/trunk@23421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-13 14:08:26 +00:00
nobu 12d2c8ba41 stripped trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 14:23:33 +00:00
nobu 1e5de389da * debug.c (set_debug_option): added rtc_error option.
* win32/Makefile.sub (CRTDEFFLAGS): separated from DEFS.

* win32/win32.c (rtc_error_handler): ignores RTC errors unless
  rtc_error debug option is given.

* win32/win32.c (rb_w32_sysinit): suppress useless CRT assertions.
  [ruby-core:22116]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-16 07:46:24 +00:00
shugo f433d710d0 * object.c (rb_obj_untrusted): new method Object#untrusted?.
(rb_obj_untrust): new method Object#untrust.
  (rb_obj_trust): new method Object#trust.
* array.c, debug.c, time.c, include/ruby/ruby.h, re.c, variable.c,
  string.c, io.c, dir.c, vm_method.c, struct.c, class.c, hash.c,
  ruby.c, marshal.c: fixes for Object#untrusted?.
* test/ruby/test_module.rb, test/ruby/test_array.rb,
  test/ruby/test_object.rb, test/ruby/test_string.rb,
  test/ruby/test_marshal.rb, test/ruby/test_hash.rb: added tests for
  Object#untrusted?.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-13 07:25:05 +00:00
shyouhei 3e69e83a62 * include/ruby/ruby.h (enum ruby_special_consts): ISO C forbids
comma at end of enumerator list

 	* include/ruby/ruby.h (enum ruby_value_type): ditto.

	* eval_intern.h (enum): ditto.

	* vm_core.h (enum rb_thread_status): ditto.

	* parse.y (enum lex_state_e): ditto.

	* parse.y (enum string_type): ditto.

	* process.c (enum): ditto.

	* ruby.c (enum dump_flag_bits): ditto.

	* ruby.c (enum disable_flag_bits): ditto.

	* compile.c (iseq_link_element): ditto

	* debug.c (union): ditto.

	* cont.c (enum context_type): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 08:27:58 +00:00
akr 436b02b332 * gc.c (ruby_initial_gc_stress): defined.
(ruby_initial_gc_stress_ptr): defined.

* debug.c (set_debug_option): use ruby_initial_gc_stress_ptr for
  gc_stress option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-13 22:57:41 +00:00
nobu 9f48c67236 * eval_intern.h (enum ruby_tag_type): enum for debug.
* debug.c (dummy_gdb_enums.value_type): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 06:56:59 +00:00
nobu 6866bce757 * compile.c, compile.h (compile_debug): made runtime option.
* debug.c (ruby_debug_print_indent): returns if debug_level exceeds
  the threashold.

* debug.c (ruby_debug_printf): printf to stderr.

* iseq.c (make_compile_option, make_compile_option_value): added
  debug_level option.

* vm_core.h (rb_compile_option_t): added debug_level.

* vm_core.h (struct iseq_compile_data): added node_level.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 05:34:04 +00:00
nobu 552badf29f * debug.c (ruby_set_debug_option): separated ruby_each_words().
* util.c (ruby_each_words): extracted from ruby_set_debug_option().

* ruby.c (proc_options): generalized enable/disable options.

* ruby.c (ruby_init_gems): take enabled flag.  [ruby-core:14840]

* ruby.c (process_options): added --disable-rubyopt flag.

* include/ruby/util.h (ruby_each_words): prototype.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-23 21:13:05 +00:00
nobu f468e000ce * debug.c (ruby_debug_print_indent): use length in fprintf.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-23 19:03:32 +00:00
matz 588d870234 * include/ruby/node.h (NODE_FL_NEWLINE): renamed from NODE_NEWLINE
to denote its a flag.  [ruby-core:15529]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-18 05:33:01 +00:00
akr 6cdef2dc7e * $Date$ keyword removed to avoid inclusion of locale dependent
string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
nobu 131d0efb5f * debug.c (dummy_gdb_enums.various): added ENCODING and CODERANGE
constants.

* .gdbinit: use enum constants.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 08:31:24 +00:00
ko1 d907cbc81d * blockinlining.c, compile.c, compile.h, debug.c, debug.h,
id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci,
  thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h,
  vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and
  copyright year.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13 22:13:04 +00:00
akr 6ade565b63 NODE_LMASK is also possible for enum.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-16 09:39:04 +00:00
akr dfcfa13872 * debug.c: use enum for constants for gdb if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-16 09:29:32 +00:00
akr 4b3a26c00e * ruby.c, debug.c: move debug enum and constants to debug.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-16 09:21:11 +00:00
ko1 fe898043cc * parse.y: fix rules around f_margs. "make test" passes all tests.
* bootstraptest/test_block.rb: add some tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-15 04:52:56 +00:00
ko1 6b6bf4dd48 * blockinlining.c: remove "yarv" prefix.
* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@12741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-12 04:25:46 +00:00
nobu eae8a9143f * debug.c (ruby_set_debug_option): separated from main.c.
* gc.c (ruby_gc_stress), signal.c (ruby_enable_coredump): prefixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 07:57:24 +00:00
ko1 7980e653e5 * call_cfunc.ci: removed.
* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@12605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 17:19:22 +00:00
nobu 2b592580bf * include/ruby: moved public headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
ko1 84fbcb9694 * debug.c (ruby_debug_node): fix to show node line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-17 04:00:36 +00:00
ko1 bb7a2d40ff * compile.c, parse.y, eval.c, intern.h, iseq.c, lex.c, node.h,
proc.c, vm.c, vm_macro.def, vm_macro.def, yarvcore.c, yarvcore.h,
  debug.c, debug.h: merge half-baked-1.9 changes.  The biggest change
  is to change node structure around NODE_SCOPE, NODE_ARGS.  Every
  scope (method/class/block) has own NODE_SCOPE node and NODE_ARGS
  represents more details of arguments information.  I'll write a
  document about detail of node structure.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-21 11:15:15 +00:00
ko1 44aef0b53f * this commit is a result of refactoring. only renaming functions,
moving definitions place, add/remove prototypes, deleting
  unused variables and removing yarv.h.
  This commit doesn't change any behavior of ruby/vm.
* yarv.h, common.mk: remove yarv.h (contents are moved to yarvcore.h).
* error.c, eval_intern.h: include yarvcore.h instead yarv.h
* rename some functions:
  * debug.[ch]: debug_*() -> ruby_debug_*()
  * iseq.c: iseq_*() -> rb_iseq_*(), ruby_iseq_disasm()
  * iseq.c: node_name() -> ruby_node_name()
  * vm.c: yarv_check_redefinition_opt_method() ->
    rb_vm_check_redefinition_opt_method()
* some refactoring with checking -Wall.
* array.c: remove rb_ary_ptr() (unused) and remove unused
  local variables.
* object.c: add a prototype of rb_mod_module_exec().
* eval_intern.h (ruby_cref): set it inline.
* eval_load.c (rb_load), yarvcore.c: yarv_load() -> rb_load_internal().
* parse.y: add a prototype of rb_parse_in_eval() (in eval.c).
* process.c: add a prototype of rb_thread_stop_timer_thread() (in thread.c).
* thread.c: remove raw_gets() function (unused) and fix some format
  mismatch (format mismatchs have remained yet. this is todo).
* thread.c (rb_thread_wait_fd_rw): fix typo on label name.
* thread_pthread.ci: comment out codes with USE_THREAD_CACHE.
* vm.c (rb_svar, rb_backref_get, rb_backref_get,
  rb_lastline_get, rb_lastline_set) : moved from yarvcore.c.
* vm.c (yarv_init_redefined_flag): add a prototype and rename
  yarv_opt_method_table to vm_opt_method_table.
* vm.c (rb_thread_eval): moved from yarvcore.c.
* yarvcore.c: remove unused global variables and fix to use nsdr().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-07 01:25:05 +00:00
matz 6cee897b59 * common.mk (bin): add more dependency. a patch from Tadashi
Saito <shiba at mail2.accsnet.ne.jp>.  [ruby-dev:30245]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-02 14:41:50 +00:00
ko1 a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00