aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* * array.c (rb_ary_zip): some refactoring.glass2013-10-292-21/+32
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_uniq_bang): use st_foreach() instead of for loop.glass2013-10-292-11/+25
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * add RUBY_TYPED_FREE_IMMEDIATELY to data types which only useko12013-10-2926-5/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | safe functions during garbage collection such as xfree(). On default, T_DATA objects are freed at same points as fianlizers. This approach protects issues such as reported by [ruby-dev:35578]. However, freeing T_DATA objects immediately helps heap usage. Most of T_DATA (in other words, most of dfree functions) are safe. However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default for safety. * cont.c: ditto. * dir.c: ditto. * encoding.c: ditto. * enumerator.c: ditto. * error.c: ditto. * file.c: ditto. * gc.c: ditto. * io.c: ditto. * iseq.c: ditto. * marshal.c: ditto. * parse.y: ditto. * proc.c: ditto. * process.c: ditto. * random.c: ditto. * thread.c: ditto. * time.c: ditto. * transcode.c: ditto. * variable.c: ditto. * vm.c: ditto. * vm_backtrace.c: ditto. * vm_trace.c: ditto. * ext/bigdecimal/bigdecimal.c: ditto. * ext/objspace/objspace.c: ditto. * ext/stringio/stringio.c: ditto. * ext/strscan/strscan.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: fix typo (FL_WB_PROTECT -> FL_WB_PROTECTED).ko12013-10-292-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c (tp_free): remvoed because empty free function.ko12013-10-292-7/+6
| | | | | | | | Use RUBY_TYPED_NEVER_FREE instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: introduce new flags for T_TYPEDDATA.ko12013-10-293-4/+27
| | | | | | | | | | | | | * RUBY_TYPED_FREE_IMMEDIATELY: free the data given by DATA_PTR() with dfree function immediately. Otherwise (default), the data freed at finalizaton point. * RUBY_TYPED_WB_PROTECTED: make this object with FL_WB_PROTECT (not shady). * gc.c (obj_free): support RUBY_TYPED_FREE_IMMEDIATELY. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (vm_malloc_increase): decrease it more carefully.ko12013-10-292-6/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (heap_page_resurrect): return a page in tomb heap even ifko12013-10-292-10/+9
| | | | | | | | freelist is NULL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby_atomic.h: ATOMIC_SIZE_CASnobu2013-10-292-0/+10
| | | | | | * ruby_atomic.h (ATOMIC_SIZE_CAS): new macro, compare and swap size_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typoskazu2013-10-291-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c (readline_getc): Considerakr2013-10-292-0/+7
| | | | | | | | NULL as input. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_profile_total_time): fix off-by-one error in GC::Profiler.total_time.tmm12013-10-293-1/+17
| | | | | | * test/ruby/test_gc.rb (class TestGc): test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-10-29svn2013-10-291-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: splitcharliesome2013-10-2912-42/+70
| | | | | | | | | | | | | | | | | | | | | | ruby_vm_global_state_version into two separate counters - one for the global method state and one for the global constant state. This means changes to constants do not affect method caches, and changes to methods do not affect constant caches. In particular, this means inclusions of modules containing constants no longer globally invalidate the method cache. * class.c, eval.c, include/ruby/intern.h, insns.def, vm.c, vm_method.c: rename rb_clear_cache_by_class to rb_clear_method_cache_by_class * class.c, include/ruby/intern.h, variable.c, vm_method.c: add rb_clear_constant_cache * compile.c, vm_core.h, vm_insnhelper.c: rename vmstat field in rb_call_info_struct to method_state * vm_method.c: rename vmstat field in struct cache_entry to method_state git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/readline/test_readline.rb (teardown): Clear Readline.input andakr2013-10-282-0/+7
| | | | | | | | Readline.output. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-10-280-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/-test-/file/depend, ext/-test-/postponed_job/depend,akr2013-10-284-0/+9
| | | | | | | | ext/-test-/tracepoint/depend: New files for dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: work around of dependencynobu2013-10-283-2/+12
| | | | | | | | | * ext/openssl/depend (ossl.o): work around of dependency of thread_native.h, which depends on headers by THREAD_MODEL. [ruby-dev:47777] * ext/openssl/extconf.rb: need THREAD_MODEL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * goruby.c (init_golf): append suffix.nobu2013-10-281-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: share feature namesnobu2013-10-282-2/+9
| | | | | | | * load.c (ruby_init_ext): share feature names between frame name and provided features. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * misc/ruby-electric.el: Import ruby-electric.el 2.1 fromknu2013-10-282-12/+47
| | | | | | | | | | | | | | | | https://github.com/knu/ruby-electric.el. * Hitting the newline-and-indent key within a comment fires comment-indent-new-line. * Introduce a new feature `ruby-electric-autoindent-on-closing-char`. * Fix fallback behavior of ruby-electric-space/return that caused error with auto-complete. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* error.c: remove NameError#to_snobu2013-10-282-22/+6
| | | | | | | * error.c (name_err_to_s): remove no longer needed overriding, since r30455 which made exc_to_s almost same. Fixes [GH-413]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_exception.rb: missing testnobu2013-10-281-0/+11
| | | | | | * test/ruby/test_exception.rb (test_to_s): missing test for r30455. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 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