#include "ruby.h"
#include "rubysig.h"
#include "st.h"
#include "node.h"
#include "env.h"
#include "re.h"
#include <stdio.h>
#include <setjmp.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <alloca.h>
Go to the source code of this file.
|
|
Value: do {\ SET_STACK_END;\ (ret) = (STACK_LENGTH > STACK_LEVEL_MAX + GC_WATER_MARK);\ } while (0) Definition at line 480 of file gc.c. Referenced by ruby_stack_check(). |
|
|
Definition at line 322 of file gc.c. Referenced by gc_sweep(). |
|
|
Definition at line 704 of file gc.c. Referenced by gc_mark(). |
|
|
Definition at line 83 of file gc.c. Referenced by gc_sweep(). |
|
|
|
|
|
Definition at line 319 of file gc.c. Referenced by add_heap(). |
|
|
Definition at line 311 of file gc.c. Referenced by add_heap(). |
|
|
Definition at line 515 of file gc.c. Referenced by garbage_collect(). |
|
|
Definition at line 503 of file gc.c. Referenced by gc_mark(), and gc_mark_rest(). |
|
|
Definition at line 374 of file gc.c. Referenced by gc_mark(), gc_mark_children(), is_pointer_to_heap(), obj_free(), rb_gc_call_finalizer_at_exit(), rb_gc_force_recycle(), and rb_newobj(). |
|
|
Definition at line 445 of file gc.c. Referenced by garbage_collect(), and ruby_stack_length(). |
|
|
Definition at line 55 of file gc.c. Referenced by garbage_collect(). |
|
|
Definition at line 447 of file gc.c. Referenced by garbage_collect(), and ruby_stack_length(). |
|
|
Definition at line 452 of file gc.c. Referenced by ruby_stack_length(). |
|
|
Definition at line 462 of file gc.c. Referenced by Init_stack(), and ruby_stack_length(). |
|
|
Referenced by gc_mark_children(), rb_str_append(), rb_str_associate(), rb_str_associated(), rb_str_buf_append(), rb_str_buf_cat(), rb_str_cat(), rb_str_new4(), rb_str_replace(), and rb_str_substr(). |
|
|
|
|
||||||||||||
|
Definition at line 1650 of file gc.c. References finalizers, rb_ary_push(), rb_eArgError, rb_intern(), rb_obj_classname(), rb_raise(), rb_respond_to(), rb_warn(), and VALUE. Referenced by Init_GC(). |
|
|
Definition at line 327 of file gc.c. References freelist, HEAP_MIN_SLOTS, heap_slots, heaps, HEAPS_INCREMENT, heaps_length, heaps_used, himem, lomem, malloc, rb_memerror(), realloc, and RUBY_CRITICAL. Referenced by garbage_collect(), gc_sweep(), and Init_heap(). |
|
||||||||||||
|
Definition at line 1689 of file gc.c. References FL_FINALIZE, FL_SET, need_call_final, rb_warn(), and VALUE. Referenced by Init_GC(). |
|
||||||||||||||||
|
Definition at line 1726 of file gc.c. References finalizer_table, FL_FINALIZE, FL_SET, INT2FIX, need_call_final, rb_ary_new3(), rb_ary_push(), rb_block_proc(), rb_eArgError, rb_intern(), rb_obj_classname(), rb_raise(), rb_respond_to(), rb_scan_args(), ruby_safe_level, st_add_direct(), st_init_numtable(), st_lookup(), and VALUE. Referenced by Init_GC(). |
|
|
Definition at line 1000 of file gc.c. References FL_SINGLETON, FL_TEST, freelist, run_final(), and VALUE. Referenced by rb_gc_call_finalizer_at_exit(), and rb_gc_finalize_deferred(). |
|
|
Definition at line 1678 of file gc.c. References finalizers, and rb_warn(). Referenced by Init_GC(). |
|
|
Definition at line 1016 of file gc.c. References free, heaps, heaps_used, and heaps_slot::limit. Referenced by gc_sweep(), and rb_gc_finalize_deferred(). |
|
|
||||||||||||
|
Definition at line 707 of file gc.c. References RVALUE::as, FL_MARK, GC_LEVEL_MAX, gc_mark_children(), mark_stack, MARK_STACK_MAX, mark_stack_overflow, mark_stack_ptr, RANY, rb_special_const_p(), ruby_stack_check(), and VALUE. Referenced by garbage_collect(), gc_mark_children(), gc_sweep(), mark_entry(), mark_keyvalue(), mark_locations_array(), rb_gc_mark(), rb_gc_mark_frame(), and rb_gc_mark_maybe(). |
|
|
Definition at line 563 of file gc.c. References RVALUE::as, FL_MARK, gc_mark_children(), heaps, heaps_used, init_mark_stack(), heaps_slot::limit, heaps_slot::slot, and VALUE. Referenced by garbage_collect(). |
|
||||||||||||
|
|
Definition at line 582 of file gc.c. References gc_mark_children(), init_mark_stack(), mark_stack, MARK_STACK_MAX, mark_stack_ptr, MEMCPY, and VALUE. Referenced by garbage_collect(). |
|
|
Definition at line 1035 of file gc.c. References add_heap(), RVALUE::as, BUILTIN_TYPE, deferred_final_list, during_gc, FL_FINALIZE, FL_MARK, FL_SINGLETON, FL_TEST, free, FREE_MIN, free_unused_heaps(), freelist, GC_MALLOC_LIMIT, gc_mark(), heaps, heaps_used, heaps_slot::limit, malloc_increase, malloc_limit, mark_source_filename(), need_call_final, obj_free(), RBASIC, ruby_in_compile, ruby_parser_stack_on_heap(), ruby_sourcefile, heaps_slot::slot, source_filenames, st_foreach(), sweep_source_filename(), T_NODE, and VALUE. Referenced by garbage_collect(). |
|
||||||||||||
|
Definition at line 1881 of file gc.c. References BUILTIN_TYPE, FIXNUM_FLAG, FIXNUM_P, is_pointer_to_heap(), NUM2ULONG, Qfalse, Qnil, Qtrue, rb_eRangeError, rb_id2name(), rb_raise(), rb_secure(), RBASIC, SYM2ID, SYMBOL_P, T_BLKTAG, and VALUE. Referenced by Init_GC(). |
|
|
Definition at line 1913 of file gc.c. References add_final(), call_final(), define_final(), finalizers, finals(), id2ref(), nomem_error, os_each_obj(), rb_ary_new(), rb_define_method(), rb_define_module(), rb_define_module_function(), rb_define_singleton_method(), rb_eNoMemError, rb_exc_new2(), rb_gc_disable(), rb_gc_enable(), rb_gc_register_address(), rb_gc_start(), rb_gc_unregister_address(), rb_global_variable(), rb_mGC, rm_final(), source_filenames, st_init_strtable(), undefine_final(), and VALUE. Referenced by rb_call_inits(). |
|
|
Definition at line 1520 of file gc.c. References add_heap(), Init_stack(), and rb_gc_stack_start. Referenced by ruby_init(). |
|
|
Definition at line 509 of file gc.c. References mark_stack, mark_stack_overflow, and mark_stack_ptr. Referenced by garbage_collect(), gc_mark_all(), and gc_mark_rest(). |
|
|
Definition at line 1448 of file gc.c. References rb_gc_stack_start, STACK_LEVEL_MAX, STACK_UPPER, and VALUE. Referenced by Init_heap(), rb_thread_create(), ruby_cleanup(), ruby_exec(), ruby_init(), and ruby_options(). |
|
|
Definition at line 598 of file gc.c. References heaps, heaps_used, himem, heaps_slot::limit, Qfalse, Qtrue, RANY, and heaps_slot::slot. Referenced by gc_mark_children(), id2ref(), mark_locations_array(), and rb_gc_mark_maybe(). |
|
||||||||||||||||
|
Definition at line 643 of file gc.c. References gc_mark(), ID, ST_CONTINUE, and VALUE. Referenced by mark_tbl(). |
|
||||||||||||
|
Definition at line 680 of file gc.c. References mark_keyvalue(), and st_foreach(). Referenced by gc_mark_children(), and rb_mark_hash(). |
|
||||||||||||||||
|
Definition at line 669 of file gc.c. References gc_mark(), ST_CONTINUE, and VALUE. Referenced by mark_hash(). |
|
||||||||||||
|
Definition at line 618 of file gc.c. References gc_mark(), is_pointer_to_heap(), and VALUE. Referenced by garbage_collect(), gc_mark_children(), rb_gc_mark_frame(), and rb_gc_mark_locations(). |
|
|
Definition at line 537 of file gc.c. Referenced by gc_mark_children(), and gc_sweep(). |
|
||||||||||||
|
Definition at line 653 of file gc.c. References mark_entry(), and st_foreach(). Referenced by garbage_collect(), gc_mark_children(), and rb_mark_tbl(). |
|
|
Definition at line 1137 of file gc.c. References DATA_PTR, ELTS_SHARED, FL_EXIVAR, FL_TEST, free, nd_type, NODE_ALLOCA, NODE_SCOPE, RANY, rb_bug(), rb_clear_cache_by_class(), rb_free_generic_ivar(), rb_io_fptr_finalize(), re_free_pattern(), re_free_registers(), RUBY_CRITICAL, SCOPE_ALLOCA, SCOPE_MALLOC, st_free_table(), T_ARRAY, T_BIGNUM, T_BLKTAG, T_CLASS, T_DATA, T_FALSE, T_FILE, T_FIXNUM, T_FLOAT, T_HASH, T_ICLASS, T_MASK, T_MATCH, T_MODULE, T_NIL, T_NODE, T_OBJECT, T_REGEXP, T_SCOPE, T_STRING, T_STRUCT, T_TRUE, T_VARMAP, and VALUE. Referenced by gc_sweep(). |
|
||||||||||||
|
Definition at line 1629 of file gc.c. References os_live_obj(), os_obj_of(), rb_scan_args(), rb_secure(), and VALUE. Referenced by Init_GC(). |
|
|
Definition at line 1529 of file gc.c. References RVALUE::as, FL_SINGLETON, FL_TEST, heaps, heaps_used, INT2FIX, heaps_slot::limit, rb_yield(), heaps_slot::slot, T_CLASS, T_ICLASS, T_NODE, T_SCOPE, T_VARMAP, TYPE, and VALUE. Referenced by os_each_obj(). |
|
|
Definition at line 1561 of file gc.c. References RVALUE::as, FL_SINGLETON, FL_TEST, heaps, heaps_used, INT2FIX, heaps_slot::limit, rb_obj_is_kind_of(), rb_yield(), heaps_slot::slot, T_CLASS, T_ICLASS, T_NODE, T_SCOPE, T_VARMAP, TYPE, and VALUE. Referenced by os_each_obj(). |
|
|
Definition at line 1810 of file gc.c. References deferred_final_list, finalize_list(), and free_unused_heaps(). Referenced by rb_call0(), and rb_gc(). |
|
|
Definition at line 1263 of file gc.c. References gc_mark(), mark_locations_array(), and VALUE. Referenced by blk_mark(), and garbage_collect(). |
|
|
|
|
|
Definition at line 689 of file gc.c. References mark_hash(). |
|
|
Definition at line 662 of file gc.c. References mark_tbl(). Referenced by check_autoload_table(), and rb_autoload(). |
|
|
Definition at line 520 of file gc.c. References ALLOC_N, MEMCPY, name, source_filenames, st_add_direct(), st_data_t, and st_lookup(). |
|
|
|
|
||||||||||||
|
Definition at line 1666 of file gc.c. References finalizers, rb_ary_delete(), rb_warn(), and VALUE. Referenced by Init_GC(). |
|
|
Definition at line 1439 of file gc.c. References STACK_LEVEL_MAX, and VALUE. |
|
||||||||||||
|
Definition at line 134 of file gc.c. References xmalloc. |
|
|
Definition at line 171 of file gc.c. References free, and RUBY_CRITICAL. |
|
|
Definition at line 107 of file gc.c. References garbage_collect(), malloc, malloc_increase, malloc_limit, rb_eNoMemError, rb_memerror(), rb_raise(), and RUBY_CRITICAL. |
|
||||||||||||
|
Definition at line 146 of file gc.c. References garbage_collect(), malloc_increase, rb_eArgError, rb_memerror(), rb_raise(), realloc, RUBY_CRITICAL, and xmalloc. |
|
|
Definition at line 1781 of file gc.c. References args, finalizer_table, finalizers, FIX2INT, Qtrue, RARRAY, rb_ary_new3(), rb_obj_id(), rb_protect(), rb_thread_critical, ruby_safe_level, run_single_final(), st_data_t, st_delete(), and VALUE. |
|
|
Referenced by finalize_list(), and rb_gc_call_finalizer_at_exit(). |
|
|
Definition at line 1773 of file gc.c. References args, Qnil, rb_eval_cmd(), and VALUE. Referenced by run_final(). |
|
||||||||||||
|
Definition at line 546 of file gc.c. References free, ST_CONTINUE, and ST_DELETE. Referenced by gc_sweep(). |
|
||||||||||||
|
Definition at line 1707 of file gc.c. References finalizer_table, st_data_t, st_delete(), and VALUE. Referenced by Init_GC(). |
|
|
Definition at line 309 of file gc.c. Referenced by gc_sweep(), rb_gc_call_finalizer_at_exit(), and rb_gc_finalize_deferred(). |
|