Age | Commit message (Collapse) | Author |
|
* gc.c (objspace_each_objects): fix condition.
Use slot->body instead of slot.
* gc.c (count_objects): use "slot" variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
free slot itself at free_heap_slot().
Reproduce-able code is here:
N1 = 100_000; N2 = 1_000_000
N1.times{ary = []; N2.times{ary << ''}}
Maybe this problem is remaining in Ruby 2.0.0.
* gc.c (unlink_heap_slot): remove not working code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(1) The heap is consists of a set of slots.
(2) Each "slot" has a "slot_body".
slot::start and slot::limit specify RVALUE beginning address
and number of RVALUE in a "slot_body".
(3) "slot_body" contains a pointer to slot (slot_body::header::slot)
and an array of RVALUE.
(4) heap::sorted is an array of "slots", sorted by an address of
slot::body.
See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design
for more details (figure).
* gc.c: Avoid "heaps" terminology. It is ambiguous.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(1) move heaps_header::start and limit to heaps_slot.
(2) remove heaps_header::end which can be calculated by start+limit.
* gc.c: catch up above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(st_strncasecmp): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
global variable. [Feature #8648] Thanks to fotos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
variable. [Feature #8648] Thanks to fotos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(st_locale_insensitive_strncasecmp): Renamed from st_strncasecmp.
* include/ruby/st.h: Follow above changes.
* include/ruby/ruby.h: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(big_three): Removed.
(Init_Bignum): Don't initialize big_three.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h: ditto.
* st.c (st_strcasecmp): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h: use strcasecmp() as st_strcasecmp() if it
exists.
* st.c (st_strcasecmp): define the function only if strcasecmp()
doesn't exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* gc.c (objspace): add a new field objspace::freelist, which contains
available RVALUEs.
* gc.c (newobj_of): simply call new function `get_freeobj()'.
get_freeobj() returns objspace::freelist. If objspace::freelist
is not available, refill objspace::freelist with a slot pointed by
objspace::heap::free_slots.
* gc.c (before_gc_sweep): clear objspace::freelist.
* gc.c (slot_sweep): clear slot::freelist.
* gc.c (heaps_prepare_freeslot): renamed to heaps_prepare_freeslot.
* gc.c (unlink_free_heap_slot): remove unused function.
* gc.c (rb_free_const_table): remove unused function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
shift.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* array.c (rb_ary_count): [DOC] fix typo. Array#count uses ==, not
===. a question at asakusa.rb ML.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_string.rb (test_split): test for r41994.
[ruby-core:56036] [Bug #8642]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
squaring.
((bary_mul_toom3_branch): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* gc.c (slot_sweep): use `heaps_add_freeslot' instead of
`link_free_heap_slot'.
* gc.c (assign_heap_slot): use local variable `slot' instead of
`heaps'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* gc.c (slot_add_freeobj): added.
* gc.c (heaps_add_freeslot): added.
* gc.c (finalize_list, rb_gc_force_recycle, slot_sweep): use
`slot_add_freeobj' instead of modifying linked list directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* encoding.c (enc_set_index): since r41967, old terminator is dealt
with in str_fill_term(). should not consider it here because this
function is called before any encoding is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
classes from BigDecimal utils native extensions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* bignum.c (rb_big2str1): Renamed from rb_big2str0.
(rb_big2str0): Deprecated wrapper for rb_big2str1.
(rb_big2str): Invoke rb_big2str1 instead of rb_big2str0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
instead of rb_yield(rb_assoc_new(key, value)) if rb_block_arity()
is greater than 1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_block_arity().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
it return arity of given block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Prime::EratosthenesSieve): New implementation by
robertjlooby <robertjlooby AT gmail.com>.
* test/test_prime.rb: updated with new method name
commit 4b6090ea852d63b26e02796c69b41caa0fa95077
Merge: ceda881 c8f7809
Author: Yuki Sonoda (Yugui) <yugui@yugui.jp>
Date: Mon Jul 15 12:50:04 2013 +0900
Merge commit 'c8f780987fbdfbae428977487e1cf793c4c36d3f'
Conflicts:
lib/prime.rb
commit c8f780987fbdfbae428977487e1cf793c4c36d3f
Author: robertjlooby <robertjlooby@gmail.com>
Date: Thu Jun 27 23:04:45 2013 -0500
updated test/test_prime.rb with new method name
commit 996517bdbb3108cd1687d99613b69e539eb1567b
Author: robertjlooby <robertjlooby@gmail.com>
Date: Thu Jun 27 22:59:39 2013 -0500
new implementation of Prime::EratosthenesGenerator and Prime::EratosthenesSieve
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Based on patch by Juanito Fatas [Fixes GH-360]
https://github.com/ruby/ruby/pull/360
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* bignum.c (big_shift2, rb_big_lshift, rb_big_rshift): cast explicitly
to suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
By Tim Abdulla [Fixes GH-342] https://github.com/ruby/ruby/pull/342
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(nlz32): Use __builtin_clz or __builtin_clzl if possible.
(nlz64): Use __builtin_clzl or __builtin_clzll if possible.
(nlz128): Use __builtin_clzll if possible.
* configure.in: Check __builtin_clz, __builtin_clzl and
__builtin_clzll.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(ones): Removed.
(next_pow2): Removed.
(floor_log2): Removed.
(ceil_log2): Removed.
* configure.in (__builtin_popcountl): Don't check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* localeinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):
move from encoding.c.
* miniinit.c (rb_locale_charmap, Init_enc_set_filesystem_encoding):
define miniruby specific functions only.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* signal.c (ruby_signal): suppress unused-value warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c (str_null_char): calculate char length. fix commit miss at
r41967.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|