Граф коммитов

28420 Коммитов

Автор SHA1 Сообщение Дата
ko1 3f606b7063 * include/ruby/debug.h: provide rb_tracearg_*() APIs,
instead of rb_tracepoint_attr_*().
  These APIs are for debuggers/profilers.
  They will be explained in another docs somtime.
* vm_trace.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 06:43:31 +00:00
naruse d81b5a4ffb * test/minitest/test_minitest_unit.rb: restore orig_verbose only
if it is set. This broke rdoc's tests.
  http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20121129T050102Z.diff.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 06:19:05 +00:00
ko1 479e396192 * vm_trace.c (rb_tracepoint_attr_method_id):
rename TracePoint#id to TracePoint#method_id.
* include/ruby/debug.h: ditto.
* test/ruby/test_settracefunc.rb: ditto,



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 05:57:35 +00:00
ko1 89c889d4e7 * vm_trace.c (rb_tracepoint_attr_defined_class):
rename TracePoint#klass to TracePoint#defined_class.
  [ruby-core:50187] Re: [ruby-trunk - Feature #6895]
* include/ruby/debug.h: ditto.
* test/ruby/test_settracefunc.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 05:52:27 +00:00
ko1 502ab126ac * gc.c (gc_stat): prepre Symbol objects at first time
to make it fast.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 05:29:22 +00:00
ko1 c512d6acf9 * gc.c (gc_stat): GC.stat supports new information
* total_allocated_object: total allocated object number.
* total_freed_object: total freed object number.
  Above two numbers are only accumulated and they will
  overflow (return to 0). Please use them as a hint.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 05:05:19 +00:00
nobu 5bb12509a2 * test/dtrace/helper.rb (DTrace::TestCase): check dtrace availability
once.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 04:39:09 +00:00
nobu 0e515efda1 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 03:24:21 +00:00
ryan 81eb635f8c Imported minitest 4.3.2 (r8026)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 03:23:11 +00:00
nobu 304885cdff test/dl: no warnings
* test/dl/test_base.rb, test/dl/test_c_struct_entry.rb: deprecation
  warnings make no sense here.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 02:58:34 +00:00
nobu ecaba0f21f remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 02:58:31 +00:00
kosaki c058d821f8 Revert r37956: thread.c (thread_start_func_2): small cleanups.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 02:50:11 +00:00
kosaki 989c529c89 * thread.c (thread_start_func_2): remove unused code. When
th->safe_level == 4, th->errinfo never be thrown. So, to
  create new exception makes no sense.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 02:09:36 +00:00
ko1 f22f1fbb54 * vm_backtrace.c: same as a last patch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 01:30:42 +00:00
ko1 d7ab6820b5 * vm_backtrace.c: use `long' for return values of `NUM2LONG()'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 01:26:38 +00:00
naruse d1dfebc05a Revert r37953: thread.c (thread_start_func_2): remove unused code. security
This sticks at bootstraptest/test_fork.rb:24 on FreeBSD and darwin.
http://fb.rubyci.org/~chkbuild/ruby-trunk/log/20121128T230302Z.log.html.gz
http://a.mrkn.jp/~mrkn/chkbuild/sl/ruby-trunk-m64-gcc42-o0/log/20121128T235908Z.log.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 01:11:47 +00:00
naruse e2779a53ef * thread.c (do_select): suppress warning (uninitialized value warning)
with UNINITIALIZED_VAR().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 00:52:51 +00:00
ko1 98ed344ae9 * eval.c (ruby_cleanup): delay THREAD_KILLED timing.
It should be located just before rb_thread_terminate_all().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 00:48:16 +00:00
ko1 3d47e7b285 * vm_backtrace.c (vm_backtrace_to_ary): support range argument
like Array#[].
  [ruby-core:50092] [ruby-trunk - Feature #7434]
  Test and document is not available. Please help us.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 00:12:49 +00:00
kosaki b76b6b5c98 * thread.c (thread_start_func_2): small cleanups.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 21:55:26 +00:00
kosaki 5e606aee2f * thread.c (thread_start_func_2): remove unused code.
this function never be used for main thread.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 21:55:14 +00:00
kosaki fdda95ed8c * thread.c (thread_start_func_2): remove unused code.
errinfo = th->errinfo; and errinfo = rb_errinfo(); are
  the same.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 21:55:03 +00:00
kosaki 1d207fcff0 * thread.c (thread_start_func_2): remove unused code. security
level is checked before rb_eSecurityError raises.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 21:54:52 +00:00
ko1 2fa079b62a * vm_backtrace.c (backtrace_to_str_ary2): rename to backtrace_to_str_ary.
* vm_backtrace.c (rb_backtrace_to_str_ary): use `backtrace_to_str_ary()'.
* vm_backtrace.c (backtrace_to_frame_ary): rename to
  backtrace_to_location_ary.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 20:30:01 +00:00
tenderlove 4bdd909518 * probes.d: Change function-entry probe to method-entry.
* insns.def: ditto
* probes_helper.h: ditto
* test/dtrace/test_function_entry.rb: ditto
* test/dtrace/test_singleton_function.rb: ditto
* vm.c: ditto
* vm_eval.c: ditto
* vm_insnhelper.c: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 20:20:50 +00:00
ko1 0fe2051c93 * vm_backtrace.c: rename Class name from
::RubyVM::Backtrace and ::RubyVM::Backtrace::Location
  to ::Thread::Backtrace and ::Thread::Backtrace::Location.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 19:46:44 +00:00
nagachika c5c1d8c236 * ChangeLog: fix a typo for r37928.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 18:09:34 +00:00
svn c788b5f52b * 2012-11-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 17:56:50 +00:00
nagachika af6decf85e * ChangeLog: fix a typo for r37938.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 17:56:39 +00:00
nagachika 7b6e26ae14 * ext/fiddle/closure.c: cosmetic fix for rdoc comment. (fix for r37917)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 14:55:41 +00:00
tarui 5c32aff16e revert some part of r37942. sorry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 14:53:47 +00:00
ko1 36b21ada61 add ticket ref: [ruby-dev:46654] [ruby-trunk - Bug #7455]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 14:41:13 +00:00
ko1 09f9aa4385 * thread.c (rb_mutex_sleep): fix to allow spurious wakeup.
* NEWS: write about spurious wakeup.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 14:40:00 +00:00
tarui e59c7307da * NEWS (Thread) remove incompatible changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 14:37:47 +00:00
ko1 bf442ed2b3 * thread_win32.c: catch up latest change of BLOCKING_REGION.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 13:57:52 +00:00
ko1 ff2ca81bb3 * vm_insnhelper.c (vm_call_method): fix undefined behavior.
Should not access scope local variable from outer scope.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 13:56:29 +00:00
tarui c6557c6fab * test/ruby/test_thread.rb (test_thread_status_in_trap): change test for
thread status in trap. now can accept Thread#join and Thread#value in trap.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 13:24:36 +00:00
ko1 9d0de48e66 * include/ruby/thread.h (rb_thread_call_without_gvl2): change
meaning of function.
  This function is called with same parameters of
  `rb_thread_call_without_gvl()'.
  However, if interrupts are detected, when return immediately.
* thread.c: implement `rb_thread_call_without_gvl2()'.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 13:01:25 +00:00
tarui f5dc27aa77 * thread.c (thread_join_sleep): check spurious wakeup by itself for
corresponding status change in trap context.
	* vm_core.h (struct rb_thread_struct): add rb_thread_list_t and use as join_list for
	reentry by trap context.
	* thread.c (thread_start_func_2): ditto.
	* thread.c (remove_from_join_list): ditto.
	* thread.c (rb_thread_atfork): ditto.
	* thread.c (thread_join): ditto. & remove trap handler check.
	* thread.c (sleep_forever): add argument : spurious_check.
	* thread.c (sleep_timeval): ditto.
	* thread.c (rb_thread_sleep_forever): set spurious_check.
	* thread.c (rb_thread_sleep_deadly): ditto.
	* thread.c (sleep_for_polling): ditto.
	* thread.c (rb_thread_wait_for): ditto.
	* thread.c (sleep_wait_for_interrupt): bypass spurious_check.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:34:15 +00:00
nobu ac93d931fa emitter.c: constify
* ext/psych/yaml/emitter.c (yaml_emitter_write_indicator): constify.
* ext/psych/yaml/emitter.c (yaml_emitter_write_block_scalar_hints):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:23:20 +00:00
nobu 082a2716cc extconf.rb: mingw32
* ext/psych/extconf.rb: mingw32 also needs macros for win32, not
  only mswin32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:22:47 +00:00
nobu d8da0faf23 extconf.rb: VPATH
* ext/psych/extconf.rb: compile sources in the source directory
  without copying by using VPATH.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:21:19 +00:00
nobu a0f7f36a5a mkmf.rb: each_compile_rules
* lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for
  each VPATH elements.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:19:49 +00:00
nobu 3baef1fc22 unit.rb: remove unnecessary includes
* lib/test/unit.rb (Test::Unit::{GlobOption,LoadPathOption}): remove
  unnecessary includes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:17:30 +00:00
kosaki 9cbf473287 * vm_core.h (enum rb_thread_status): remove THREAD_TO_KILL
* vm_core.h (struct rb_thread_struct): add to_kill field
* thread.c (terminate_i): convert THREAD_TO_KILL to to_kill.
* thread.c (rb_threadptr_to_kill): ditto.
* thread.c (rb_thread_kill): ditto.
* thread.c (rb_thread_wakeup_alive): ditto.
* thread.c (thread_list_i): ditto.
* thread.c (static const char): ditto.
* thread.c (thread_status_name): ditto.
* thread.c (rb_thread_status): ditto.
* thread.c (rb_thread_inspect): ditto.
* vm_backtrace.c (thread_backtrace_to_ary): ditto.

* thread.c (rb_threadptr_execute_interrupts): fix thread status
  overwritten issue. [Bug #7450] [ruby-core:50249]

* test/ruby/test_thread.rb (test_hread_status_raise_after_kill):
  test for the above.
* test/ruby/test_thread.rb (test_thread_status_in_trap): test for
  thread status in trap.
* test/ruby/test_thread.rb (test_status_and_stop_p): remove
  Thread.control_interrupt unsafe test. Thread#kill no longer
  changes thread status. Instead of, Thread#kill receiver changes
  their own status when receiving kill signal.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 08:31:03 +00:00
kosaki b8a1e36201 * thread.c (struct rb_mutex_struct): add allow_trap field.
* internal.h (rb_mutex_allow_trap): added.
* thread.c (rb_mutex_lock, rb_mutex_unlock): check mutex->allow_trap.
* thread.c (mutex_sleep): remove trap check because it uses
  rb_mutex_lock and rb_mutex_unlock internally.
* thread.c (rb_mutex_allow_trap): new helper function for the above.

* io.c (io_binwrite): mark fptr->write_lock as writable in trap.

* test/ruby/test_signal.rb (test_trap_puts): test for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 08:30:51 +00:00
ko1 fc57f2bfdb add ticket number [Bug #4559]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 08:01:43 +00:00
ko1 49ed2a756b * proc.c: remove Proc#== and Proc#eql?.
Proc objects compared with thier object ids.
* test/ruby/test_proc.rb: remove related test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 08:00:53 +00:00
drbrain 45011d08e1 * lib/rdoc/servlet.rb: Add support for serving documentation from a
subdirectory.
* lib/rdoc/generator/darkfish.rb:  ditto
* test/rdoc/test_rdoc_servlet.rb:  Test for above
* test/rdoc/test_rdoc_servlet.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 07:41:19 +00:00
naruse 013521e557 * configure.in: fix r37294: run only on i[3-6]86-linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 06:45:25 +00:00