aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* * variable.c (rb_const_set): fix WB miss.ko12013-06-181-0/+21
| | | | | | | | | | | | | | | | | | | | | | | WBs had located before creating reference between a klass and constant value. It causes GC bug. # pseudo code: WB(klass, value); # WB and remember klass st_insert(klass->const_table, const_id, value); `st_insert()' can cause GC before inserting `value' and forget `klass' from the remember set. After that, relationship between `klass' and `value' are created with constant table. Now, `value' can be young (shady) object and `klass' can be old object, without remembering `klass' object. At the next GC, old `klass' object will be skipped and young (shady) `value' will be miss-collected. -> GC bug Lesson: The place of a WB is important. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_profile_record_flag): There may be two or more reasons. so, it ↵tarui2013-06-181-1/+1
| | | | | | was typo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_call_method): ensure methods of typecharliesome2013-06-181-0/+9
| | | | | | | | VM_METHOD_TYPE_ATTR_SET are called with 1 argument * test/ruby/test_module.rb (class TestModule): add test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_profile_record_flag): reason seems like one-hot encoding.tarui2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: Return for ::allocation_generationzzak2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: Document object_tracing methods.zzak2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: Rename rb_mObSpace -> rb_mObjSpacezzak2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: Document ObjectSpace::InternalObjectWrapper.zzak2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: Teach rdoc object_tracing.c [Bug #8537]zzak2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/.document: add object_tracing.c to document filezzak2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: rdoc on require to overview from r41355zzak2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: Check __int128.akr2013-06-181-0/+17
| | | | | | | | | | | | | | | | | | * include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available. (BDIGIT): Use uint64_t if uint128_t is available. (SIZEOF_BDIGITS): Defined for above case. (BDIGIT_DBL_SIGNED): Ditto. (PRI_BDIGIT_PREFIX): Ditto. * include/ruby/ruby.h (PRI_64_PREFIX): Defined. * bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which rb_big_pow returns Float or Bignum. [ruby-dev:47413] [Feature #8509] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: clear lex_strtermnobu2013-06-181-0/+6
| | | | | | | | * parse.y (parser_heredoc_restore): clear lex_strterm always to get rid of marking recycled node. this bug is revealed by r41372 with GC.stress=true. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (nlz): Cast the result explicitly.akr2013-06-181-0/+5
| | | | | | | | (big2dbl): Don't assign BDIGIT values to int variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_xor): Non-effective code removed.akr2013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_stat): add `generated_normal_object_count_types' forko12013-06-181-0/+5
| | | | | | | | RGENGC_PROFILE >= 2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_mark_maybe): check to skip T_NONE.ko12013-06-181-0/+6
| | | | | | | | * gc.c (markable_object_p): do not need to check (flags == 0) here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * variable.c (rb_autoload): fix WB miss.ko12013-06-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_mark_children): don't need to care about T_ZOMBIE here.ko12013-06-171-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc):ktsj2013-06-171-0/+5
| | | | | | run test for r41359. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h, vm_eval.c (rb_funcall_with_block):ktsj2013-06-171-0/+15
| | | | | | | | | | | | | | | | new function to invoke a method with a block passed as an argument. * string.c (sym_call): use the above function to avoid a block sharing. [ruby-dev:47438] [Bug #8531] * vm_insnhelper.c (vm_yield_with_cfunc): don't set block in the frame. * test/ruby/test_symbol.rb (TestSymbol#test_block_given_to_proc): run related tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h, proc.c (rb_method_call_with_block):ktsj2013-06-171-0/+12
| | | | | | | | | | | | | new function to invoke a Method object with a block passed as an argument. * proc.c (bmcall): use the above function to avoid a block sharing. [ruby-core:54626] [Bug #8341] * test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls): run related tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * loadpath.c (RUBY_REVISION): Defined to suppress revision.hakr2013-06-171-0/+5
| | | | | | | | inclusion actually. r41352 removes the dependency. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: let rdoc know about objspace methods.eregon2013-06-171-0/+5
| | | | | | Specify 'objspace' should be required. See #8537. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (ObjectSpace): is a module not a class.eregon2013-06-171-0/+7
| | | | | | | * ext/objspace/objspace.c: try to include overview in rdoc, see #8537. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: fix example of ObjectSpace.define_finalizer in overvieweregon2013-06-171-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tkutil.c: prevent temporary objects from GCnobu2013-06-171-0/+7
| | | | | | | | | * ext/tk/tkutil/tkutil.c: use rb_sprintf(), rb_id2str(), and rb_intern_str() instead of rb_intern() and RSTRING_PTR() with RB_GC_GUARD(), to prevent temporary objects from GC. [ruby-core:39000] [Bug #5199] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typokazu2013-06-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_backtrace.c: Update rdoc for Backtrace#label with @_ko1zzak2013-06-171-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/ifchange (until): Fix the condition, although harmless inknu2013-06-171-0/+5
| | | | | | this case. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_mark_maybe): added. check `is_pointer_to_heap()' andko12013-06-171-0/+8
| | | | | | | | | | type is not T_ZOMBE. * gc.c: use `gc_mark_maybe()'. T_ZOMBIE objects should not be pushed to the mark stack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_small_lshift): Renamed from bdigs_small_lshift.akr2013-06-161-0/+5
| | | | | | | | (bary_small_rshift): Renamed from bdigs_small_rshift. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (absint_numwords_bytes): Removed.akr2013-06-161-0/+5
| | | | | | | | (rb_absint_numwords): Don't call absint_numwords_bytes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (BARY_ADD): New macro.akr2013-06-161-0/+9
| | | | | | | | | | | | (BARY_SUB): Ditto. (BARY_MUL): Ditto. (BARY_DIVMOD): Ditto. (BARY_ZERO_P): Ditto. (absint_numwords_generic): Use these macros. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_2comp): Extracted from get2comp.akr2013-06-161-0/+17
| | | | | | | | | | | | | | | | | | | | (integer_unpack_num_bdigits): Extracted from rb_integer_unpack_internal. (bary_unpack_internal): Renamed from bary_unpack and support INTEGER_PACK_2COMP. (bary_unpack): New function to validate arguments and invoke bary_unpack_internal. (rb_integer_unpack_internal): Removed. (rb_integer_unpack): Invoke bary_unpack_internal. (rb_integer_unpack_2comp): Removed. * internal.h (rb_integer_unpack_2comp): Removed. * pack.c: Follow the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.h (INTEGER_PACK_2COMP): Defined.akr2013-06-161-0/+15
| | | | | | | | | | | | | | | | | | (rb_integer_pack_2comp): Removed. * bignum.c (bary_pack): Support INTEGER_PACK_2COMP. (rb_integer_pack): Invoke bary_pack directly. (rb_integer_pack_2comp): Removed. (rb_integer_pack_internal): Ditto. (absint_numwords_generic): Follow the above change. * pack.c (pack_pack): Ditto. * sprintf.c (rb_str_format): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (absint_numwords_generic): rb_funcall invocations removed.akr2013-06-161-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typoskazu2013-06-161-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/config_files.rb: use URI.read to allow it runs with Ruby 1.8.5.naruse2013-06-161-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_pack) Extracted from rb_integer_pack_internal.akr2013-06-161-0/+5
| | | | | | | | (absint_numwords_generic): Use bary_pack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS (XMLRPC::Client#http): Add.kou2013-06-161-0/+5
| | | | | | | [ruby-core:55197] [Feature #8461] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_add): New function.akr2013-06-161-0/+8
| | | | | | | | | | | (bary_zero_p): Extracted from bigzero_p. (absint_numwords_generic): Use bary_zero_p and bary_add. (bary_mul): Fix an argument for bary_mul_single. (bary_divmod): Use size_t for arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bigdivrem): Use a BDIGIT variable to store the returnakr2013-06-151-0/+5
| | | | | | | | value of bigdivrem_single. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_divmod): New function.akr2013-06-151-5/+14
| | | | | | | | | | | | (absint_numwords_generic): Use bary_divmod. (bigdivrem_num_extra_words): Extracted from bigdivrem. (bigdivrem_single): Ditto. (bigdivrem_normal): Ditto. (BIGDIVREM_EXTRA_WORDS): Defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: Fixup around GC by MALLOC. tarui2013-06-151-1/+9
| | | | | | | | | | Add allocate size to malloc_increase before GC for updating limit in after_gc_sweep. Reset malloc_increase into garbage_collect() for preventing GC again soon. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c : add some colums to more detail profile.tarui2013-06-151-0/+5
| | | | | | | new colums: Allocated size, Prepare Time, Removing Objects, Empty Objects git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_prof_timer_stop): Merge function codes of GC_PROFILE_MORE_DETAIL ↵tarui2013-06-151-0/+10
| | | | | | | | | | | | | | and !GC_PROFILE_MORE_DETAIL. * gc.c (gc_prof_mark_timer_start): Ditto. * gc.c (gc_prof_mark_timer_stop): Ditto. * gc.c (gc_prof_sweep_slot_timer_start): Ditto. * gc.c (gc_prof_sweep_slot_timer_stop): Ditto. * gc.c (gc_prof_set_malloc_info): Ditto. * gc.c (gc_prof_set_heap_info): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_sub): New function.akr2013-06-151-0/+6
| | | | | | | | | (absint_numwords_generic): Use bary_sub. (bigsub_core): Skip unnecessary copy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_mul): New function.akr2013-06-151-0/+7
| | | | | | | | | | (absint_numwords_generic): Use bary_mul. (bary_mul_single): Extracted from bigmul1_single. (bary_mul_normal): Extracted from bigmul1_normal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_unpack): Extracted from rb_integer_unpack_internal.akr2013-06-151-0/+9
| | | | | | | | | | | | (absint_numwords_generic): Use bary_unpack. (roomof): Defined. (bdigit_roomof): Defined. (BARY_ARGS): Defined. (bary_unpack): Declared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e