on Solaris 10. [ruby-dev:46414] [Bug #7287]
* gc.c, signal.c, vm_core.h, common.mk: reflect the rename from atomic.h
to ruby_atomic.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* siphash.c (sip_init_state): use union to suppress warnings by gcc
4.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* siphash.c (sip_init_state): use union to suppress warnings by gcc
4.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: speedup Array#unshift by using space in shared array.
[Feature #6638]
- when array owns its shared array (ARY_SHARED_NUM == 1), and there
is enough space then try unshift values directly into shared
array.
- when resulting array is big (~>64 items) then make it shared with
enough room for future #unshifts, and then insert into shared
array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_splice): use shared array in rb_ary_slice.
[Feature #6638]
- use ary_ensure_room_for_push when rb_ary_slice used to add at the
end of array, cause rb_ary_concat use rb_ary_slice.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (ary_ensure_room_for_push): make array really suitable for
queue. [Feature #6638]
when array is shared (which happens after Array#shift), and
ARY_SHARED_NUM == 1 (which is very often when array used as queue),
then make rb_ary_push push directly into shared array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_modify): steal shared array's container when
ARY_SHARED_NUM == 1. [Feature #6638]
- Do not allocate new memory in rb_ary_modify when ARY_SHARED_NUM == 1
and length almost same.
- Store ARY_CAPA instead of RARRAY_LEN in ary_make_shared, to make
it useful.
- Fix rb_ary_sort_bang accordantly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Documentation for BigDecimal
Based on a patch from Vincent Batts
[ruby-core:49047] [Bug #7305]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/shellwords.rb (Shellwords#shellescape): Add back my original
real world example with some enhancement.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/shellwords.rb (Shellwords#shellescape): Undo part of the
previous rdoc change. This new example using a string-only
array was not in line with the description.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/ruby.h (alloca), eval_intern.h (alloca), gc.c
(alloca): Make alloca() globally available by moving the
ultimate ifdef's to ruby/ruby.h. Gcc hides its builtin alloca()
when compiling with -ansi, and linking thus fails on platforms
that lack their own alloca() implementation in libc, which
include OpenBSD and some ports of NetBSD. We use alloca()
everywhere including from within third party C extentions, so
alloca() must be made globally available. [Bug #7307]
* addr2line.c (alloca): Replace the alloca() part with the
ultimate ifdef's. [Bug #7307]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[ruby-core:48552] [Bug #7242]
* test/ruby/test_bignum.rb (test_mul_large_numbers):
add a test for bigmul1_toom3 suggested in [Bug #7242].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
inside backquotes, since some traditional shells like PD KSH
(which OpenBSD's /bin/sh bases on) fails to parse them.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
operations of two NaNs are undefined.
[#1720] [ruby-dev:38725] [ruby-core:36966]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
which made by r37498. See http://bugs.ruby-lang.org/issues/7298
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
refinement module, and don't override method_added.
* vm_method.c (rb_method_entry_make): check redefinition of
optimized methods when a method is added to a refinement module.
[ruby-core:48970] [Bug #7290]
* test/ruby/test_refinement.rb: related test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-additional.el (ruby-mode-set-encoding): now encoding needs
to be set always explicitly actually. [Feature #6679]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e