Commit graph

38928 commits

Author SHA1 Message Date
kazu
e28c3d5df4 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 14:29:55 +00:00
ngoto
b7ff3d3b68 * common.mk (ruby-glommed.o): dependency on $(OBJ) should be written
in common.mk (in which OBJ is defined) because of Makefile include
  and parse order. This partly reverts r49419.
  [ruby-dev:48849] [Bug #10808]

* Makefile.in (ruby-glommed.o): ditto.

* Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because
  it is included in $(OBJS) since r49451.

* Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 10:43:27 +00:00
kazu
3b4f191482 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 10:06:17 +00:00
nobu
dc7cefff5b error.c: fix r49479
* error.c (rb_mod_sys_fail_str): copy the given format.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 08:23:39 +00:00
nobu
af5b7053f1 mkmf.rb: avoid interference
* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of
  interference by modifying global variables in have_devel? method.
  [ruby-core:67962] [Bug #10821]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 08:15:47 +00:00
svn
26127361dd * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 06:26:57 +00:00
shugo
525f515f9a * vm_method.c (remove_method): When remove refined
method, raise a NameError if the method is not
  defined in refined class.

  But if the method is defined in refined class,
  it should keep refined method and remove original
  method.

  Patch by Seiei Higa. [ruby-core:67722] [Bug #10765]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 06:26:48 +00:00
nobu
338bd4cc65 remove duplication in warning
* dir.c (sys_warning_1): remove duplication in the message.
* error.c (rb_mod_sys_fail_str): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 06:15:51 +00:00
nobu
45df1c24d2 dir.c: glob legacy short name
* dir.c (glob_helper): obtain real name with FindFirstFile API
  instead of matchin all entries, on Windows.
  [ruby-core:67954] [Bug #10819]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 05:04:49 +00:00
nobu
3e2942423e dir.c: GC guard
* dir.c (do_opendir): prevent intermediate string for transcoding
  from GC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 04:43:52 +00:00
nobu
73cce16240 mkmf.rb: set cxxflags
* lib/mkmf.rb (configuration): set the default cxxflags, which is
  referred from the default CXXFLAGS, for extension libraries.
  [Fix GH-823]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-03 03:26:38 +00:00
svn
4b8df18e0d * 2015-02-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-02 20:58:43 +00:00
tmm1
829fcdb2e8 gc.c: ensure GC state is consistent during VM shutdown
* gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress
  during rb_objspace_free. Adds extra protection for r46340.
  Patch by Vicent Marti. [Bug #10768] [ruby-core:67734]
* gc.c (rb_objspace_call_finalizer): Ensure GC is completed after
  finalizers have run. We already call gc_rest() before invoking
  finalizers, but finalizer can allocate new objects and start new GC
  cycle, so we call gc_rest() again after finalizers are complete.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-02 20:58:32 +00:00
svn
8be3f74e19 * 2015-02-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-02 01:51:47 +00:00
nobu
92c1538d48 security.rdoc: update about Symbol GC [ci skip]
* doc/security.rdoc (Symbols): update about Symbol GC.  Symbols
  explicitly converted from Strings now can be collected, but
  reflection/metaprogramming still can cause memory flooding.
  [Fix GH-725]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-02 01:51:37 +00:00
nobu
5146f5abe9 test_backtrace.rb: add tests
* test/ruby/test_backtrace.rb (test_caller_locations_base_label):
  test for Thread::Backtrace::Location#base_label.

* test/ruby/test_backtrace.rb (test_caller_locations_label): test
  for Thread::Backtrace::Location#label.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-01 09:40:09 +00:00
nobu
38a37ed8f2 rbinstall.rb: no batch installation
* tool/rbinstall.rb (bin-comm): drop batch file installation.
  Windows 95 support has not been supported already.
  [Feature #10806]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-01 04:46:55 +00:00
svn
23aad65d1f * 2015-02-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-01 00:29:19 +00:00
nobu
0f7bd5738b signal.c: SIGBUS by stack overflow on Funtoo
* signal.c (sigbus): seems that Funtoo Linux also delivers SIGBUS
  at stack overflow.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-01 00:29:02 +00:00
nobu
8f02de2050 test_backtrace.rb: add test
* test/ruby/test_backtrace.rb (test_caller_locations_lineno): test
  for Thread::Backtrace::Location#lineno.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 13:57:46 +00:00
nobu
4c1afa78aa test_backtrace.rb: split test
* test/ruby/test_backtrace.rb (test_caller_locations_absolute_path):
  split from test_caller_locations_path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 13:57:34 +00:00
nobu
dc0991c8d8 test_backtrace.rb: add test
* test/ruby/test_backtrace.rb (test_caller_locations_path): test
  for Thread::Backtrace::Location#path and #absolute_path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 13:10:05 +00:00
usa
665ee6cd03 * tool/downloader.rb (Downloader::RubyGems.download): Gem::Security::*#ui= is
very new feature.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 11:40:43 +00:00
nobu
48eb1aa542 rbinstall.rb: duplicate code
* tool/rbinstall.rb (gem): remove duplicate load path and require.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 09:07:17 +00:00
nobu
64a36e434d rbinstall.rb: trilingual batch files
* tool/rbinstall.rb (bin-comm): trilingual, (sh, cmd, and ruby)
  prolog for batch files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 09:01:59 +00:00
nobu
8f2683ede5 rbinstall.rb: no CR
* tool/rbinstall.rb (bin-comm): no CR at EOF in batch files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 08:42:25 +00:00
nobu
e783dcd8ce rbinstall.rb: no chdir
* tool/rbinstall.rb (PROLOG_SCRIPT): use the given symlinked
  directory name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 08:42:13 +00:00
kazu
3d7b3f0e8b fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 04:35:21 +00:00
svn
1d7d25539f * 2015-01-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 03:06:39 +00:00
nobu
8fe95fea9d thread_pthread.c: Fix intermittent SIGBUS on Linux
* thread_pthread.c (reserve_stack): fix intermittent SIGBUS on
  Linux, by reserving the stack virtual address space at process
  start up so that it will not clash with the heap space.
  [Fix GH-822]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-31 03:06:26 +00:00
nobu
1b11ba706d common.mk: link DTRACE_OBJ
* common.mk (COMMONOBJS): include $(DTRACE_OBJ) which is necessary
  for $(DTRACE_DEPENDENT_OBJS).

* configure.in (RUBY_DTRACE_POSTPROCESS): separate whether dtrace
  is needed to genearate probes.o and whether it modifies input
  object files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-30 11:45:29 +00:00
nobu
df445b470e math.c: optimization for Bignum
* math.c (num2dbl_with_to_f): make faster when Bignum passed by
  direct conversion using rb_big2dbl().  [Feature #10800]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-30 08:28:32 +00:00
svn
3d775f1c6f * 2015-01-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 15:57:10 +00:00
marcandre
af574c63b5 * string.c: [DOC] Specify to_s on subclasses [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 15:56:58 +00:00
mrkn
78400919ba * ext/bigdecimal/bigdecimal.c (rb_rational_num): add fallback function
for rubies lower than 2.2.0.

* ext/bigdecimal/bigdecimal.c (rb_rational_den): ditto.

* ext/bigdecimal/extconf.rb: check the existences of struct RRational,
  rb_rational_num, and rb_rational_den.

* ext/bigdecimal/bigdecimal.bundle: bump version.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 14:34:43 +00:00
nobu
21f6bb283f parse.y: no optimization in defined?
* parse.y (logop_gen): no needs for optimization in defined?
  operator.  literal conditions are optimized away eventually.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 13:22:45 +00:00
nobu
082445e7af parse.y: condition node
* parse.y (logop_gen): keep non-null condition node.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 13:22:39 +00:00
hsbt
9a39740ef3 * tool/make-snapshot: removed md5 digest with package infomation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 11:28:31 +00:00
nobu
bc3e73a8f3 rbinstall.rb: literal colon
* tool/rbinstall.rb (PROLOG_SCRIPT): ":" in "Use Alternate Value"
  parameter expansion is not a path separator, but a literal colon.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 08:26:45 +00:00
nobu
9443203ee8 parse.y: optimize conditions
* parse.y (new_if_gen, logop_gen): simplify constant conditional
  expressions to help the optimizer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 08:03:24 +00:00
nobu
a1f8fbd18d math.c: deoptimize
* math.c (Get_Double): restrict direct casting only when
  Fixnum#to_f is not redefined, and convert with rb_to_float().
  [Feature #10785]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 01:42:12 +00:00
nobu
d77ae2c2f4 math.c: Get_Double
* math.c (Get_Double): direct casting from Fixnum to double.
  [Feature #10785]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 01:41:54 +00:00
tenderlove
6ce27adabe * ext/psych/lib/psych/visitors/to_ruby.rb: fix parsing hashes with
instance variables when it is referenced multiple times.
* ext/psych/lib/psych.rb: bump version
* ext/psych/psych.gemspec: bump version
* test/psych/test_hash.rb: test for fix

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-28 17:37:09 +00:00
svn
8914d672b8 * 2015-01-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-28 17:06:51 +00:00
normal
8341136f07 thread.c: micro-optimize thread create/join
* thread.c (struct join_arg): restructure and make smaller
  (thread_join_sleep): avoid timeofday() call if forever
  (thread_join): pass join_arg.delay directly
  (rb_thread_inspect_msg): remove, inline into rb_thread_inspect
  (rb_thread_inspect): reduce branching and string creation
* thread_pthread.c (native_set_thread_name): create string directly
  to avoid reparsing. [Misc #10723]

This reduces time in benchmark/bm_vm_thread_create_join.rb by
a few percent.

Minor improvements only:

target 0: 2.1.5 (ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux])
target 1: trunk (ruby 2.3.0dev (2015-01-16 trunk 49282) [x86_64-linux])
target 2: built (ruby 2.3.0dev (2015-01-16 trunk 49282) [x86_64-linux])

benchmark results:
minimum results in each 3 measurements.
Execution time (sec)
name                    2.1.5   trunk   built
vm_thread_create_join   1.049   1.242   1.138

Speedup ratio: compare with the result of `2.1.5' (greater is better)
name                    trunk   built
vm_thread_create_join   0.845   0.923

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-28 17:06:40 +00:00
svn
05afc8a9d7 * 2015-01-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-28 12:32:43 +00:00
hsbt
9ab7b7ec82 * thread.c: Improve documentation for Thread#value
[Bug #10694][ruby-core:67324][ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-28 12:32:31 +00:00
usa
b03c6a74b7 * tool/redmine-backporter.rb: added ! command.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-27 07:04:38 +00:00
usa
8516d7433f * tool/redmine-backporter.rb: added history feature for platforms which
lack readline.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-27 07:00:50 +00:00
nobu
fd8cf62f37 Makefile.in: dtrace-specific stuffs
* Makefile.in (DTRACE_DEPENDENT_OBJS): move dtrace-specific stuffs
  from common.mk.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-27 05:39:52 +00:00