ruby--ruby/include/ruby
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
..
backward * include/ruby/backward/rubysig.h (rb_thread_blocking_region_begin), 2009-02-08 13:44:21 +00:00
defines.h * configure.in (--with-arch): added new option to support 2009-02-07 09:02:50 +00:00
encoding.h * string.c, include/ruby/encoding.h: fixed types. 2009-05-07 05:16:26 +00:00
intern.h * gc.c: add longlife garbage collection. [ruby-dev:38423] 2009-05-13 14:08:26 +00:00
io.h * include/ruby/io.h (typedef struct rb_io_t): 2009-01-21 04:56:06 +00:00
missing.h * include/ruby/missing.h, sprintf.c: get rid of a warning of VC++. 2009-01-02 14:35:07 +00:00
oniguruma.h * id.h, include/ruby/{intern,oniguruma}.h, regenc.h, regparse.h, 2008-12-09 07:14:13 +00:00
re.h * include/ruby/re.h (struct rmatch_offset): new struct for character 2008-02-16 20:08:35 +00:00
regex.h * $Date$ keyword removed to avoid inclusion of locale dependent 2008-01-06 15:49:38 +00:00
ruby.h * gc.c: add longlife garbage collection. [ruby-dev:38423] 2009-05-13 14:08:26 +00:00
st.h * include/ruby/st.h, st.c: order entries by a linked list instead of 2009-02-08 14:34:13 +00:00
util.h * util.c (ruby_scan_oct, ruby_scan_hex): use size_t. 2009-03-14 09:25:20 +00:00
version.h * include/ruby/version.h: extracted the extensions interface and 2009-05-13 06:23:20 +00:00
vm.h * include/ruby/vm.h: write a comment. 2008-10-21 20:59:23 +00:00
win32.h * include/ruby/win32.h (strcasecmp, strncasecmp): use _ prefixed 2009-03-10 10:58:49 +00:00