aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* make-snapshot: CONFIGUREnobu2015-03-222-1/+5
| | | | | | | * tool/make-snapshot (package): add default CONFIGURE name to follow r50039. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make-snapshot: substitute configuration variablesnobu2015-03-222-17/+33
| | | | | | | | * tool/make-snapshot (package): substitute configuration variables in Makefile.in instead of passing by the command line, and make temporary Makefile instead of a pipe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-03-22svn2015-03-211-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: strip autogenerated dependenciesnobu2015-03-212-4/+13
| | | | | | | | * common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c): strip autogenerated dependencies which have invalid syntax in other than nmake. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* complex.c: [DOC] mention about Complex literal.gogotanaka2015-03-211-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-03-211-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* console.c: winsize on Windowsnobu2015-03-213-11/+20
| | | | | | | | | | | | * ext/io/console/console.c (console_set_winsize): use handle for writing. GetConsoleScreenBufferInfo seems failing on a handle for reading. * io.c: [DOC] update the example of IO#winsize to use $stdout instead of $stdin, which does not work on Windows. a patch by Jan Lelis <mail AT janlelis.de> at [ruby-core:68574]. [Bug #10986] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-03-21svn2015-03-211-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: selectable configurenobu2015-03-211-3/+3
| | | | | | * Makefile.in (reconfig): use selected configure script name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: respond_to_missing? at Methodnobu2015-03-203-41/+106
| | | | | | | | | * proc.c (respond_to_missing_p): check if the receiver responds to the given method by respond_to_missing?. * proc.c (mnew_missing): create Method object for method_missing. [ruby-core:68564] [Bug #10985] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .travis.yml: enabled email notification.hsbt2015-03-202-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .travis.yml: removed Ruby 1.9.3 build on Travis CIhsbt2015-03-202-1/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: fix messagesnobu2015-03-201-4/+4
| | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb (TestInadvertent): fix failure messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: undefined singletonnobu2015-03-201-0/+1
| | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb (test_undefined_method): test Kernel#singleton_method too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (obj_info): obj_info() can receive internal objects.ko12015-03-202-15/+18
| | | | | | | | * gc.c (check_rvalue_consistency): obj_info() returns const char *. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r50031 because it includes unexpected patchko12015-03-203-22/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (obj_info): obj_info() can receive internal objects.ko12015-03-203-15/+22
| | | | | | | | * gc.c (check_rvalue_consistency): obj_info() returns const char *. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-03-20svn2015-03-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (obj_info): show class name and T_DATA type_name.ko12015-03-202-5/+29
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_copy_wb_protected_attribute): `dest' can be WB unprotected.ko12015-03-192-6/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_copy_wb_protected_attribute): demote `dest' object.ko12015-03-192-1/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c, internal.h: export rb_gc_verify_internal_consistency().ko12015-03-193-4/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (obj_info): show allocation site if GC_DEBUG is not 0.ko12015-03-192-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (newobj_of): fix RGENGC_OLD_NEWOBJ_CHECK logics.ko12015-03-192-5/+9
| | | | | | | | | * skip on incremental marking because not sure what happen :p * rb_gc_writebarrier_remember() is enough to mark children. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_copy_wb_protected_attribute): need demote for old objects.ko12015-03-192-2/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: S_IFLNKnobu2015-03-192-0/+5
| | | | | | | * win32/win32.c (fileattr_to_unixmode): set symlink for reparse points. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: no S_IWGRP and S_IWOTHnobu2015-03-191-5/+2
| | | | | | | * win32/win32.c (fileattr_to_unixmode): do not set S_IWGRP and S_IWOTH reset in wstati64. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: CONFIGUREnobu2015-03-192-2/+4
| | | | | | * Makefile.in (CONFIGURE): make configure script name selectable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* random.c: fix handle to releasenobu2015-03-192-2/+7
| | | | | | | * random.c (fill_random_bytes): release the handle in the static variable, not a local variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: verconf.h by BOOTSTRAPRUBYnobu2015-03-191-1/+1
| | | | | | | * common.mk (verconf.h): use BOOTSTRAPRUBY as generic_erb.rb and the template are not dependent on built-in constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_obj_clone): do not touch age (FL_PROMOTED[01]) becauseko12015-03-182-1/+6
| | | | | | | | rb_obj_alloc() can return old object in debug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/objspace/test_objspace.rb: flag name was changedko12015-03-182-1/+6
| | | | | | | | (long_lived -> uncollectible). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq.c (iseq_mark): skip some marking if iseq->orig is available.ko12015-03-182-8/+22
| | | | | | | | | * iseq.c (rb_iseq_clone): need WB for iseq1->klass = iseq0->klass (done in MEMCPY). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.h (IMEMO_DEBUG): added.ko12015-03-183-5/+52
| | | | | | | | | | * internal.h: remove unused FL_IMEMO_MARK_V[0-3]. * gc.c (rb_imemo_new_debug): added. * gc.c (obj_info): show imemo type name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (RGENGC_OLD_NEWOBJ_CHECK): add check mechanism.ko12015-03-182-0/+43
| | | | | | | | | | | If RGENGC_OLD_NEWOBJ_CHECK > 0, then create old objects (not new objects) periodically. Create one old objects per RGENGC_OLD_NEWOBJ_CHECK objects are created. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enum.c (enum_sort_by): add WBs.ko12015-03-182-4/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (check_rvalue_consistency): refactoring.ko12015-03-182-15/+50
| | | | | | | | | | | | | | | * not inline on RGENGC_CHECK_MODE > 0. * check SPECIAL_CONST_P(obj) first. * add a check that remembered_bit is only TRUE when old (age == 3). * gc.c (RVALUE_DEMOTE): should clear RVALUE_REMEMBERED bit. remembered_bit should be TRUE only for old (age == 3) objects. Actually there are no effect because demoted objects will be uncollectible WB unprotected objects (marked at the begginig of every minor GC). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-03-19svn2015-03-181-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: rename terminologies.ko12015-03-182-56/+76
| | | | | | | | | | | | | | | | | * long_lived -> uncollectible: because this bitmap does not mean "long lived objects in past", but means "prohibit collection thse objects until next major GC". Uncollectible objects consist of two types objects, one is old objects (WB protected objects which age == 3) and another is uncollectible WB unprotected objects which are referred from old objects * remembered_wb_unprotected_objects -> uncollectible_wb_unprotected_objects: because uncollectible objects does not mean remembered objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2015-03-181-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2015-03-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_writebarrier_generational): add an alternative writeko12015-03-182-3/+41
| | | | | | | | | | | | | | | | | | | | barrier (WB) implementation. When finding reference from [Old obj] to [New obj] by WB, current implementation marks [Old obj] as remembered old objects and marks chilldren of [Old obj] at the beggining of marking. Added (but disabled) code changes current behaviour. This fix promote [New obj] to old and marks as a remembered old object. We can assume "new objects referred from old objects are maybe long-lived old objects". Disadvantage of added algorithm is we may promote unwilling short-lived objects. For example, consider many new objects push and pop to an old stack object. All of new objects (short-lived objects) promote to old objects unexpectedly. To compare these behaviour, I add this new code (but disabled it). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (RVALUE_PROMOTE_RAW): rename to RVALUE_OLD_LONG_LIVED_SET()ko12015-03-182-3/+8
| | | | | | | | to make clear. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (check_rvalue_consistency): do not need to check is_sweeping().ko12015-03-182-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: showflagsnobu2015-03-181-1/+3
| | | | | | * defs/gmake.mk (showflags): more targets to show flags. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/bm_vm1_gc_wb_ary.rb: run GC to finish "marking" phase.ko12015-03-185-3/+22
| | | | | | | | | | | * benchmark/bm_vm1_gc_wb_obj.rb: ditto. * benchmark/bm_vm1_gc_wb_ary_promoted.rb: add parameter full_mark: false to invoke only minor GC. * benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: add a comment about RSTRING_FSTR.ko12015-03-182-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2015-03-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c: same hash values with Float#hashnobu2015-03-185-3/+25
| | | | | | | | * hash.c (rb_any_hash): use same hash values with Float#hash so that -0.0 and +0.0 will be identical. [ruby-core:68541] [Bug #10979] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: introduce STR_FAKESTR to show string is FAKESTR or not.ko12015-03-172-3/+25
| | | | | | | | | * string.c (STR_SET_SHARED): ignore FAKESTR because only Ruby objects can use write barrier. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e