Commit graph

35734 commits

Author SHA1 Message Date
ko1
2f73dbd084 * gc.c: introduce RZombie to manage zombie objects.
Rewrite finalizing logics with this type.
* gc.c (gc_verify_internal_consistency): verify zombie (finalizing)
  objects count.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-04 13:33:20 +00:00
kazu
b165f9b5e2 fix typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-04 13:11:55 +00:00
nobu
5861d4f18b re.c: consider name encoding
* re.c (match_aref, rb_reg_regsub): consider encoding of captured
  names, encoding-incompatible should not match.
  [ruby-dev:48278] [Bug #9903]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-04 13:09:57 +00:00
nobu
ea0e8e61c0 re.c: reduce new strings
* re.c (match_aref, rb_reg_regsub): reduce new strings creation
  for exceptions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-04 12:33:18 +00:00
nobu
561fe11035 re.c: fix name with NUL
* re.c (match_aref): should not ignore name after NUL byte.
  [ruby-dev:48275] [Bug #9902]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-04 12:23:57 +00:00
svn
161a0df797 * 2014-06-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 19:08:46 +00:00
nobu
140929d8ba vm.c: return the result hash
* vm.c (core_hash_merge_kwd): should return the result hash, which
  may be converted from and differ from the given argument.
  [ruby-core:62921] [Bug #9898]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 19:08:40 +00:00
akr
fc3c52eb37 + * ruby.c (load_file_internal2): Extracted from load_file_internal.
+         (load_file_internal): Invoke load_file_internal2 using rb_protect.
+         Close an opened FD if load_file_internal2 raises an exception.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 14:33:51 +00:00
ko1
7ad125d7d2 * gc.c (rb_objspace_free): should not rest_sweep() here.
Some data structures are already freed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 10:17:18 +00:00
ko1
a5fd4c45e3 * test/ruby/test_gc.rb: allocate more objects to invoke GC by newobj.
GC allows extending pages depends on heap_increment.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 09:47:54 +00:00
ko1
29bee7e8ea revert r46332 because RVALUE_OLD_P() returns int by r46334
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 09:13:39 +00:00
ko1
75604b077e * gc.c (rb_gc_call_finalizer_at_exit): add
gc_verify_internal_consistency() when RGENGC_CHECK_MODE >= 2.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 09:02:21 +00:00
ko1
2e437f8b45 * gc.c: change the counting method for young objects.
clear counter at the beggining of every GC and
  count promoted (infant->young) objects.
  Some promotions (infant->young) are transition of promoting to old
  objects. We should not count such promotions.
  With this technique, we don't need to check young objects
  at obj_free().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 09:00:53 +00:00
ko1
9d71a0ae33 * gc.c: add verifying counters code in gc_verify_internal_consistency().
gc_verify_internal_consistency() counts all
  - live objects
  - young objects (if age2 promotion)
  - old objects
  in all pages and compares with objspace managing counters.
* gc.c (gc_after_sweep): do gc_verify_internal_consistency()
  when RGENGC_CHECK_MODE >= 2.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 07:50:23 +00:00
nobu
b259791072 gc.c: int for simple predicates
* gc.c: use int for simple predicate functions instead of VALUE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 07:44:19 +00:00
nobu
3809c47d8d ChangeLog: remove garbages
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 07:44:17 +00:00
ko1
3d42f2295d * gc.c (rb_gc_force_recycle): we only need to know the result (0/1)
of RVALUE_OLD_P(). clang fails to compile it because is_old is
  `int' but RVALUE_OLD_P() returns VALUE.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 07:37:44 +00:00
shugo
87505dd771 * lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body
type as "MIXED" followed immediately by params
	  [ruby-core:62864] [Bug #9885]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 04:19:57 +00:00
ko1
e7d8c473c1 * gc.c (objspace_live_slot): live slot count should not include final
slot (contains T_ZOMBIE) count.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 04:19:21 +00:00
ko1
a0bbf948b5 * gc.c (obj_free): fix spacing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 04:03:55 +00:00
ko1
58390617ef * gc.c (check_gen_consistency): fix error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 04:00:18 +00:00
ko1
baff4dfef9 * gc.c: count old/young objects more correctly.
* gc.c (RVALUE_DEMOTE_FROM_OLD): decrement old object count.
* gc.c (RVALUE_DEMOTE_FROM_YOUNG): decrement young object count.
* gc.c (rb_gc_resurrect): increment old object count.
* gc.c (gc_marks_body): should not add old object count.
  This code is completely my misunderstanding.
* gc.c (rb_gc_force_recycle): decrement young or old object count
  correctly.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 03:55:04 +00:00
ko1
d27a685b95 * test/ruby/memory_status.rb: add $LOAD_PATH to load test/unit
correctly for fiddle/import unavailable environments.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 03:29:12 +00:00
usa
5d9eae4abb * test/openssl/test_ssl.rb (OpenSSL::TestSSL#test_verify_result):
shouldn't use same server for respective tests, because the 1st
  test sometimes kills the server main loop silently.
  [Bug #9881] [ruby-dev:48266]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-03 00:48:29 +00:00
usa
25e8bfce58 * win32/win32.c (rb_w32_conv_from_wchar): follow nobu's previous commit.
hey nobu, why don't you write Changelog for such serious changes?


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 22:35:17 +00:00
nobu
0fec24f972 encoding.c: move ruby_encoding_index stuff
* encoding.c: move `ruby_encoding_index` stuff from
  include/ruby/encoding.h to hide the extra field.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 20:23:52 +00:00
nobu
f2980e3e20 encoding.h: constify rb_encoding
* include/ruby/encoding.h: constify `rb_encoding` itself, not only
  arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 20:23:47 +00:00
svn
b875b4a6d9 * 2014-06-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 16:38:42 +00:00
zzak
61bc5c34e9 * README.EXT: [DOC] Add rb_call_super when subclassing from @robin850
[Fixes GH-623] https://github.com/ruby/ruby/pull/623 [ci skip]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 16:38:31 +00:00
kazu
d3c07588a7 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 13:47:44 +00:00
kazu
72912ec3f3 fix usage
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 13:46:33 +00:00
kazu
06ba00507b fix typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 13:46:22 +00:00
akr
59ae4924b0 Join threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 11:34:50 +00:00
ko1
bbfe069ec1 * vm.c (ruby_vm_destruct): remove useless call of
rb_gc_force_recycle().
  At this line, a VM object is already freed
  (is changed to T_NONE) by rb_gc_call_finalizer_at_exit().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 08:17:55 +00:00
ko1
7af941da15 * eval.c (rb_using_refinement): add write-barriers for
cref->nd_refinements.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 06:51:41 +00:00
hsbt
be29ae6b05 * CONTRIBUTING.md: added contibuting guide for github. [fix GH-625]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 03:29:13 +00:00
tmm1
3ef5adb45b xmlrpc/client: fix documentation typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 00:43:29 +00:00
akr
fe38158f9b * test/ruby/envutil.rb (default_warning): New method.
* test/ruby/test_autoload.rb: Use EnvUtil.default_warning.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 22:31:30 +00:00
nobu
046831094b constify rb_encoding and OnigEncoding
* include/ruby/encoding.h: constify `rb_encoding` arguments.
* include/ruby/oniguruma.h: constify `OnigEncoding` arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 22:06:11 +00:00
nobu
b16245145b gmake.mk: fix argument
* defs/gmake.mk: fix missing loop variable of `foreach`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 21:50:32 +00:00
nobu
2f0c383d9d gmake.mk: universal assembler rules
* Makefile.in (CFLAGS_NO_ARCH): split from ARCH_FLAG.

* defs/gmake.mk: define assembler rules per architectures for
  universal binaries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 19:32:17 +00:00
nobu
b1b88695be gmake.mk: universal cpp rules
* defs/gmake.mk: define preprocessing rules per architectures for
  universal binaries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 19:32:15 +00:00
akr
20e6b3a3b8 Use EnvUtil.suppress_warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 15:41:42 +00:00
akr
9b0ea861ab Suppress a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 15:25:12 +00:00
svn
b9ea747677 * 2014-06-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 15:14:02 +00:00
akr
49aac86510 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 15:13:59 +00:00
akr
fcdec9bfbb Stop DRb service.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 14:08:35 +00:00
akr
be4b37dfae Finish threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 13:47:04 +00:00
akr
49d68ba10d Suppress a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 12:09:08 +00:00
akr
5cd71131b8 * test/drb: Wrap tests definitions by DRbTests module. This makes
several tests (ACLEntryTest, TestBug4409, etc.) easier to understand
  that they are tests for DRb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 03:07:58 +00:00