aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * common.mk, ext/objspace/depend, ext/coverage/depend,akr2013-10-288-7/+23
| | | | | | | ext/-test-/debug/depend, ext/date/depend: Update dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c: vm_clear_all_cache is not necessary now we use a 64 bit countercharliesome2013-10-283-18/+7
| | | | | | | | for global state version. * vm_insnhelper.h: ruby_vm_global_state_version overflow is unnecessary git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_backtrace.c (rb_profile_frame_classpath): do not use rb_inspecttmm12013-10-272-1/+6
| | | | | | directly, since it might have a custom implementation or show ivars. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_backtrace.c (rb_profile_frame_classpath): handle singletontmm12013-10-273-8/+25
| | | | | | methods defined directly on an object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-10-28svn2013-10-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c: fix warning messagenobu2013-10-273-44/+81
| | | | | | * 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
* * ext/readline/readline.c: Include ruby/thread.h forakr2013-10-272-77/+124
| | | | | | | | | | | | | | | | | | | | | | | | 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
* process.c: Process::Tmsnobu2013-10-271-3/+4
| | | | | | | | * 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-27svn2013-10-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: fix disabling gems in assert_separatelynobu2013-10-271-2/+2
| | | | | | | * 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
* * gc.c: catch up recent changes to compile on GC_DEBUG,ktsj2013-10-262-7/+12
| | | | | | RGENGC_CHECK_MODE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* range.c: modify checknobu2013-10-263-5/+25
| | | | | | | * 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
* envutil.rb: disable gems in child processnobu2013-10-261-1/+1
| | | | | | | | * 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
* signal.c: adjust indentnobu2013-10-261-1/+1
| | | | | | * 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
* * lib/open-uri.rb (meta_add_field): : Re-implemented.akr2013-10-262-0/+9
| | | | | | | | [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
* * gc.c (gc_profile_dump_on): use "Page" terminology.ko12013-10-262-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_sweep, gc_heap_lazy_sweep): fix measurement code.ko12013-10-262-2/+13
| | | | | | | | 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
* * addr2line.c: Include ELF header after system headers (especiallyakr2013-10-262-5/+13
| | | | | | | | | | 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
* * gc.c: tuning parameters.ko12013-10-262-3/+14
| | | | | | | | | | | * 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
* * gc.c (vm_malloc_increase): do gc_rest_sweep() before GC.ko12013-10-262-1/+19
| | | | | | | | | | | 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
* * gc.c (gc_before_heap_sweep): Restructure code to mean clearly.tarui2013-10-252-11/+9
| | | | | | | 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-26svn2013-10-251-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_before_heap_sweep): fix freelist management.ko12013-10-252-1/+18
| | | | | | | | | 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
* range.c: fix int and VALUEnobu2013-10-251-5/+7
| | | | | | | | * 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
* range.c: setter macrosnobu2013-10-251-6/+9
| | | | | | | * 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-25svn2013-10-241-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.sub: fix typonobu2013-10-241-1/+1
| | | | | | * 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
* * parse.y: Remove +(binary) and -(binary) special cases [Feature #9048]marcandre2013-10-243-3/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c: [DOC] Document first argument also takes string for:zzak2013-10-242-0/+28
| | | | | | | | | 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
* * thread.c (rb_thread_terminate_all): add a comment why we needkosaki2013-10-242-0/+10
| | | | | | state check and call terminate_i again. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_terminate_all): add a comment why infinitekosaki2013-10-242-0/+9
| | | | | | sleep is safe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: add new initial_growth_max tuning parameter. [ruby-core:57928] [Bug ↵tmm12013-10-233-1/+24
| | | | | | #9035] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.h: suppress INFINITY warningsnobu2013-10-232-0/+19
| | | | | | | * 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
* Makefile.sub: C99 mathematics functionsnobu2013-10-231-1/+2
| | | | | | | | * 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
* * ChangeLog: adjust indent.nobu2013-10-231-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/ostruct.rb: raise NoMethodError with a #name and #args.marcandre2013-10-233-1/+24
| | | | | | | | 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
* * lib/ostruct.rb (Struct#each_pair): Return an enumerator with sizemarcandre2013-10-232-1/+2
| | | | | | | | 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
* * lib/ostruct.rb (OpenStruct#delete): Use the converted argument.marcandre2013-10-232-1/+11
| | | | | | | | 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
* * lib/ostruct.rb: Raise RuntimeError when modifying frozen instancesmarcandre2013-10-232-4/+4
| | | | | | | | 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
* * array.c: Add Array#to_h [Feature #7292]marcandre2013-10-236-0/+117
| | | | | | * 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-24svn2013-10-231-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: Rename free_min to min_free_slots and free_min_page to ↵tmm12013-10-232-24/+31
| | | | | | | | | 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
* Makefile.sub: C99 mathematics functionsnobu2013-10-232-1/+20
| | | | | | | * 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
* * gc.c: move increment from heap to heap_pages.ko12013-10-232-34/+48
| | | | | | | | | | | 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
* * gc.c (heap_pages_free_unused_pages): cast to (int) for size_tko12013-10-232-1/+6
| | | | | | | | variable `i'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: introduce tomb heap.ko12013-10-232-129/+210
| | | | | | | | | | | | | | | | | | | 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
* * gc.c (gc_prof_sweep_timer_stop): catch up recent changesko12013-10-232-1/+6
| | | | | | | | 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
* * file.c: [DOC] fix rdoc format of File#expand_path from r43386zzak2013-10-232-3/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-10-23svn2013-10-221-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typoskazu2013-10-221-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e