* thread.c: add `Thread#backtrace_locations' method.
  This method is similart to `caller_locations' method for
  specific method.
  And fix to accept `level' and `n' parameters for `Thread#backtrace'
  and `Thread#backtrace_locations'.
  `caller' (and `caller_locations') do not return `caller' method
  frame.
  However, `Thread#backtrace' (and `Thread#backtrace_locations')
  return `Thread#backtrace' method frame itself
  if `Thread.current.backtrace' was called.
* vm_backtrace.c: ditto.
* internal.h: ditto.
* test/ruby/test_backtrace.rb: add tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: fix didn't enable_dtrace=yes on auto.

* configure.in: see enable_dtrace for adding libelf on FreeBSD.

* common.mk: VPATH is not needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml (script): add OPTS=-v, requested by @_ko1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
common.mk: no purelib

* common.mk (RUBYLIB): purelib option in runruby.rb is deprecated
  since r28841, so set to an empty list to get rid of a bogus path in
  child processes, which caused an insecure operation exception in
  test/ruby/test_encoding.rb:test_unsafe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
configure.in: no -lelf

* configure.in (LIBS): libelf is need on only FreeBSD.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
struct.c: yield assoc in each_pair

* struct.c (rb_struct_each_pair): yield associated pairs so that
  an unsplat argument can get both, for consistency with Hash,
  OpenStruct, and etc.  [ruby-dev:46533] [Bug #7382]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
struct.c: fix typo

* struct.c (rb_struct_each_pair): fix typo.  [Bug #7382]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c (sig_signame): implements Signal.signame method
[Feature #5613]
* test/ruby/test_signal.rb (test_signame): adds test for above
* NEWS: add an item about above



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* prelude.rb: Moved Mutex#synchronize to
* thread.c (rb_mutex_synchronize_m): here. [Bug #4266]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c (rb_disable_interrupt, rb_enable_interrupt): removed
  USE_TRAP_MASK.
* signal.c (trap_arg, trap_ensure): removed.
* signal.c (trap, sig_trap): removed pointless signal disabling.
  We don't need it bacause we no longer run trap hander on signal
  hander context.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c (install_sighandler): added comments why we need
  rb_disable_interrupt().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c (rb_get_next_signal): removed pointless signal
  disabling. pthread_sigmask() only changes current thread
  mask.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_threadptr_execute_interrupts) removed.
* thread.c (rb_threadptr_execute_interrupts_common) renamed to
  rb_threadptr_execute_interrupts. I.e. unified
  rb_threadptr_execute_interrupts and rb_threadptr_execute_interrupts_common.
* thread.c (rb_thread_schedule, rb_thread_execute_interrupts) s/_common//.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_thread_blocking_region_end): replaced GET_THREAD()
  with ruby_thread_from_native(). We don't have GVL here.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c, vm_core.h: big rename th to cur_th when works only
  th is current thread.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_threadptr_async_errinfo_active_p): added a small
  comment.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_thread_s_check_interrupt): removed redundant
  GET_THREAD().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_dump.c: not to include probes.h because the code does not depend
  on it.
* common.mk (vm_dump.$(OBJEXT)): remove dependency on probes.h


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_backtrace.c (vm_backtrace_to_ary): fix a typo of an variable name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (--enable-dtrace): change help message
* configure.in (--enable-dtrace): remove ineffective "else AS_CASE ..."
  because the variable $rb_cv_prog_dtrace_g is normally "yes" on
  FreeBSD and the AS_CASE is not evaluated on FreeBSD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e