summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-27* 2013-10-28svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-27struct.c: fix warning messagenobu
* struct.c (new_struct): fix warning message, class name and encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-27* ext/readline/readline.c: Include ruby/thread.h forakr
rb_thread_call_without_gvl2. (readline_rl_instream, readline_rl_outstream): Record FILE structures allocated by this extension. (getc_body): New function extracted from readline_getc. (getc_func): New function. (readline_getc): Use rb_thread_call_without_gvl2 to invoke getc_func. [ruby-dev:47033] [Bug #8749] (clear_rl_instream, clear_rl_outstream): Close FILE structure allocated by this extention reliably. [ruby-core:57951] [Bug #9040] (readline_readline): Use clear_rl_instream and clear_rl_outstream. (readline_s_set_input): Set readline_rl_instream. (readline_s_set_output): Set readline_rl_outstream. (Init_readline): Don't call readline_s_set_input because readline_getc doesn't block other threads for any FILE structure now. [ruby-dev:47033] [Bug #8749] reported by Nobuhiro IMAI. [ruby-core:57951] [Bug #9040] reporeted by Eamonn Webster. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-27process.c: Process::Tmsnobu
* process.c (Init_process): rename Struct::Tms as Process::Tms. keep the former defined for the backward compatibility, for the time being. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-27* 2013-10-27svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-27envutil.rb: fix disabling gems in assert_separatelynobu
* test/ruby/envutil.rb (assert_separately): fix the position of --disable=gems option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26* gc.c: catch up recent changes to compile on GC_DEBUG,ktsj
RGENGC_CHECK_MODE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26range.c: modify checknobu
* range.c (range_initialize_copy): disallow to modify after initialized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26envutil.rb: disable gems in child processnobu
* test/ruby/envutil.rb (assert_separately): disable gems by default to get rid of loading test-unit gem, which doesn't have _assertions method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26signal.c: adjust indentnobu
* signal.c (ruby_atomic_compare_and_swap): adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26* lib/open-uri.rb (meta_add_field): : Re-implemented.akr
[ruby-core:58017] [Bug #9051] patch by Eamonn Webster. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26* gc.c (gc_profile_dump_on): use "Page" terminology.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26* gc.c (gc_sweep, gc_heap_lazy_sweep): fix measurement code.ko1
We only need one sweep time measurement without lazy sweep. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26* addr2line.c: Include ELF header after system headers (especiallyakr
sys/types.h) to avoid compilation failure, "usr/include/sh3/elf_machdep.h:4:2: error: #error Define _BYTE_ORDER!", on NetBSD/sh3 (dreamcast, hpcsh, landisk, mmeye). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26* gc.c: tuning parameters.ko1
* gc.c (GC_MALLOC_LIMIT): change default value to 16MB. * gc.c (GC_MALLOC_LIMIT_GROWTH_FACTOR): change default value to 2.0. * gc.c (gc_before_sweep): change decrease ratio of `malloc_limit' from 1/4 to 1/10. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-26* gc.c (vm_malloc_increase): do gc_rest_sweep() before GC.ko1
gc_rest_sweep() can reduce malloc_increase, so try it before GC. Otherwise, malloc_increase can be less than malloc_limit at gc_before_sweep(). This means that re-calculation of malloc_limit may be wrong value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-25 * gc.c (gc_before_heap_sweep): Restructure code to mean clearly.tarui
heap->freelist is connected to end of list. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-25* 2013-10-26svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-25* gc.c (gc_before_heap_sweep): fix freelist management.ko1
After rb_gc_force_recycle() for a object blonging to heap->freelist, `heap->using_page->freelist' is not null. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-25range.c: fix int and VALUEnobu
* range.c (SET_EXCL): set boolean always. * range.c (range_init): fix int flag and boolean VALUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-25range.c: setter macrosnobu
* range.c (RANGE_SET_{BEG,END,EXCL}): add setter macros which wrap RSTRUCT_SET() and index. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24* 2013-10-25svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24Makefile.sub: fix typonobu
* win32/Makefile.sub (MISSING): fix typo, missing extention. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24* parse.y: Remove +(binary) and -(binary) special cases [Feature #9048]marcandre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24* object.c: [DOC] Document first argument also takes string for:zzak
rb_mod_const_get, rb_mod_const_set, rb_mod_const_defined Also added note about NameError exception for invalid constant name git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24* thread.c (rb_thread_terminate_all): add a comment why we needkosaki
state check and call terminate_i again. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24* thread.c (rb_thread_terminate_all): add a comment why infinitekosaki
sleep is safe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* gc.c: add new initial_growth_max tuning parameter. [ruby-core:57928] [Bug ↵tmm1
#9035] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23win32.h: suppress INFINITY warningsnobu
* include/ruby/win32.h (rb_infinity_float): suppress overflow in constant arithmetic warnings. [ruby-core:57981] [Bug #9044] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23Makefile.sub: C99 mathematics functionsnobu
* win32/Makefile.sub (config.h): fix version number of runtime library. log2 needs to be defined, not only HAVE_LOG2. [ruby-core:57992] [Bug #9044] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* ChangeLog: adjust indent.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* lib/ostruct.rb: raise NoMethodError with a #name and #args.marcandre
Patch by Kenichi Kamiya. [Fixes GH-383] * test/ostruct/test_ostruct.rb: Added tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* lib/ostruct.rb (Struct#each_pair): Return an enumerator with sizemarcandre
Patch by Kenichi Kamiya. [Fixes GH-383] * test/ostruct/test_ostruct.rb: Added tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* lib/ostruct.rb (OpenStruct#delete): Use the converted argument.marcandre
Patch by Kenichi Kamiya. [Fixes GH-383] * test/ostruct/test_ostruct.rb: Added tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* lib/ostruct.rb: Raise RuntimeError when modifying frozen instancesmarcandre
instead of TypeError. Patch by Kenichi Kamiya. [Fixes GH-383] * test/ostruct/test_ostruct.rb: Added tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* array.c: Add Array#to_h [Feature #7292]marcandre
* enum.c: Add Enumerable#to_h git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* 2013-10-24svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* gc.c: Rename free_min to min_free_slots and free_min_page to ↵tmm1
max_free_slots. The algorithm for heap growth is: if (swept_slots < min_free_slots) pages++ if (swept_slots > max_free_slots) pages-- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23Makefile.sub: C99 mathematics functionsnobu
* win32/Makefile.sub (config.h): VC 2013 supports C99 mathematics functions. [ruby-core:57981] [Bug #9044] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* gc.c: move increment from heap to heap_pages.ko1
Share `increment' information with heaps. * gc.c: change ratio of heap_pages_free_min_page to 0.80. This change means slow down page freeing speed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* gc.c (heap_pages_free_unused_pages): cast to (int) for size_tko1
variable `i'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* gc.c: introduce tomb heap.ko1
Tomb heap is where zombie objects and ghost (freed slot) lived in. Separate from other heaps (now there is only eden heap) at sweeping helps freeing pages more efficiently. Before this patch, even if there is an empty page at former phase of sweeping, we can't free it. Algorithm: (1) Sweeping all pages in a heap and move empty pages from the heap to tomb_heap. (2) Check all exsisting pages and free a page if all slots of this page are empty and there is enough empty slots (checking by swept_num) To introduce this pach, there are several tuning of GC parameters. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* gc.c (gc_prof_sweep_timer_stop): catch up recent changesko1
to compile on GC_PROFILE_MORE_DETAIL=1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-23* file.c: [DOC] fix rdoc format of File#expand_path from r43386zzak
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22* 2013-10-23svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22fix typoskazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22 * vm_core.h (enum): avoid syntax error.shyouhei
* method.h: ditto. * internal.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22* gc.c (Init_heap): move logics from heap_pages_init() and removeko1
heap_pages_init(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22* gc.c: allow multiple heaps.ko1
Now, objects are managed by page. And a set of pages is called heap. This commit supports multiple heaps in the object space. * Functions heap_* and rb_heap_t manages heap data structure. * Functions heap_page_* and struct heap_page manage page data strcuture. * Functions heap_pagse_* and struct rb_objspace_t::heap_pages maintains all pages. For example, pagaes are allocated from the heap_pages. See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design and https://bugs.ruby-lang.org/attachments/4015/data-heap_structure_with_multiple_heaps.png for more deitals. Now, there is only one heap called `eden', which is a space for all new generated objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22* lib/pp.rb (object_address_group): Use Kernel#to_s to obtain the classakr
name and object address. This fix a problem caused by %p in C generates variable length address. Reported by ko1 via IRC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e