RUBY_DTRACE_FUNC_RETURN_HOOK): move from vm_core.h to new file
probes_helper.h for narrowing dependency to probes.h.
* common.mk (VM_CORE_H_INCLUDES): remove dependency to probes.h.
* common.mk (vm.$(OBJEXT)): add dependency to probes_helper.h.
* vm.c, vm_insnhelper.c: include probes_helper.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
based on r26235 by Yugui. On Solaris 10, low optimization level
may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle
SolarisStudio 12.3 cc.
* configure.in (--enable-dtrace): new option to enable/disable
DTrace support. By default, trying to enable if dtrace command
is found on the system. It is disabled when cross compiling.
* configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether
the dtrace on the system needs postprocessing with "dtrace -G".
The postprocessing is needed on Solaris 10 and other platforms.
* configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether
the dtrace supports USDT.
* configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS.
* configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred.
* configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for
DTrace probe object generated by postprocessing with "dtrace -G".
* Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object
generated by the postprocessing. New file probes.stamp is for
rebuilding related objects that may be modified by "dtrace -G".
* configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new
macro for DTrace static library hacks.
* configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto.
* Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with
rule for DTrace static library hacks.
* common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/file.c (replace_to_long_name): correct logic around wildcard
characters detection and ensure wide-chars are used as pattern.
[ruby-core:49451] [Bug #7374]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
when emitting multi-line strings. Thanks @atambo
* test/psych/test_yaml.rb: test for change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c (st_update): pass the key in st_table so that we can free
memory of the key in st_table when deleting.
[ruby-core:49220] [Bug #7330]
* test/-ext-/st/test_update.rb
(Bug::StTable#test_pass_objects_in_st_table): add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/file.c (replace_to_long_name): skip automatic path expansion
when wildcard character is used. [ruby-core:49451] [Bug #7374]
* test/ruby/test_file_exhaustive.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
consistency. [ruby-core:49323] [Bug #7348]
* test/ruby/test_marshal.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
`func' from `int *skip_interrupt' to `VALUE *flags'.
If (flags & RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS) is not zero,
then skip checking interrupt.
[ruby-core:46547]
* include/ruby/thread.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (incs): probes.h is a platform dependent file, so it
cannot be a part of prereq target. move it to all-incs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (DTRACE): move after AC_PROG_CC since cross_compiling
is set in it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c (BSEARCH_CHECK): compare signedness only and relax an
assumption of the result of rb_cmpint() which compilers cannot know.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
@orig_PWD should be the original pwd.
* test/rake/test_*.rb: don't use @orig_PWD to load libraries.
It should be specified with relative path from the file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Dir.pwd when the build directory is different from source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e