HTML_ALIGN_MEMBERS lines. They have been obsolete in
Doxygen version 1.8.2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This method returns an array of objects referenced by given object.
If given object is special objects such as true/false/nil/Fixnum etc
then it returns nil. See rdoc for details.
[ruby-core:39772]
* test/objspace/test_objspace.rb: add a test for this method.
* gc.c: add rb_objspace_reachable_objects_from().
To make this function, add several member `mark_func_data'
to rb_objspace_t. If mark_func_data is not null, then
gc_mark() calls mark_func_data::mark_func.
* gc.h: export rb_objspace_reachable_objects_from().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (RUNRUBY_COMMAND): split from RUNRUBY.
* common.mk (gdb-ruby): use runruby.rb to set up library path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
marking since all objects are certainly unmarked with rest_sweep.
* gc.c (rb_objspace_call_finalizer): remove to mark finalizable
objects. The sweeping doesn't push T_ZOMBIE objects to the
freelist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
altstack. This change avoid the stack overflow at the signal
handler on 32bit, but I don't understand reason... [Feature #7095]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
instead of using rb_hash_aset() because rb_hash_aset()
check $SAFE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hooks (old macro name is COLLECT_USAGE_ANALYSIS).
This feature is only for VM developers. (I'm not sure I can use
`VM developers' (the plural form) in this sentence).
If VM_COLLECT_USAGE_DETAILS is not 0, VM enables the following
usage collection features:
(1) insntruction: collect intruction usages.
(2) operand: collect operand usages.
(3) register: collect register usages.
The results are stored in
RubyVM::USAGE_ANALYSIS_INSN for (1, 2),
RubyVM::USAGE_ANALYSIS_INSN_BIGRAM for (1) and
RubyVM::USAGE_ANALYSIS_REGS for (3).
You can stop collecting usages with
RubyVM::USAGE_ANALYSIS_INSN_STOP(),
RubyVM::USAGE_ANALYSIS_OPERAND_STOP(),
RubyVM::USAGE_ANALYSIS_REGISTER_STOP()
for (1), (2), (3) respectively.
You can also change the hook functions by setting
C level global variables
`ruby_vm_collect_usage_func_(insn|operand|register)'
for (1), (2), (3) respectively.
See codes for more details.
* tool/instruction.rb: fix macro names.
* iseq.c (insn_operand_intern): make it export (used in vm.c).
fix to skip several processes if not needed (pointer is 0).
* vm_dump.c: move codes for collection features to vm.c.
* vm_exec.h: rename macro and function names.
* vm_insnhelper.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
remove unused test case.
(this test case is redefined by newer tests)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (rb_objspace_call_finalizer): mark self-referencing finalizers
before run finalizers, to fix SEGV from btest on 32bit.
* gc.c (gc_mark_stacked_objects): extract from gc_marks().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (free_stack_chunks): it is used only when per-VM object space
is enabled.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
recursion marking of CRuby needs checking stack overflow and the
fail-safe system, but these systems not good at partial points,
for example, marking deep tree structures. [ruby-dev:46184]
[Feature #7095]
* configure.in (GC_MARK_STACKFRAME_WORD): removed. It's used by
checking stack overflow of marking.
* win32/Makefile.sub (GC_MARK_STACKFRAME_WORD): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c (ruby_init_stack): use getrlimit() for the main
thread on Mac OS X, since pthread_get_stack{addr,size}_np() and
return the default value always, but not the ulimit value.
[ruby-dev:46174] [Bug #7084]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
so LIBRUBY_SO links fine with libexecinfo installed in a
non-system directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/envutil.rb (EnvUtil#invoke_ruby): kill child process
before Timeout::Error is raised. rmdir of mktmpdir fails with
EACCES if child process is alive on Windows.
* test/thread/test_queue.rb (TestQueue): increase timeout.
This test takes long time on Windows XP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/drb/drbtest.rb (DRbCore#teardown):
Use Process.kill :KILL on Windows because Process.kill :INT silently
fails on Windows 7 and raises EINVAL on Windows XP for spawned
process with new_pgroup: false.
* test/drb/drbtest.rb (DRbAry#teardown): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):
set script encoding to work with LANG=C. It would work on both
Windows and Unix. Refix of r37051.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
klass to fix method lookup order, and use klass even if klass is
not a module to make refinements in class_eval invoked on classes
work.
* eval.c (rb_using_module): accept a class as the second argument.
* eval.c (rb_mod_using, f_using): raise a TypeError if the argument
is not a module.
* test/ruby/test_refinement.rb: add new tests for the above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Use ruby only on Windows since the test fails on Unix with LANG=C.
[ruby-core:47709] [Bug #7076]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic):
echo command doesn't work properly against non-ascii character on
Windows with chcp 437. Instead we use ruby.
[ruby-core:47709] [Bug #7076]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_generate_bin_bindir_with_user_install_warning(TestGemInstaller)
fails on Windows with msys bash. It makes comparing paths
case-insensitive.
pick from upstream to fix a failure of test-all [ruby-core:47711]
c474edb2f3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e