Commit graph

34260 commits

Author SHA1 Message Date
ko1
4c9d6d801b * gc.c: change RGENGC_CHECK_MODE (>= 2) logic.
Basically, make an object graph of all of living objects before and
  after marking and check status.
  [Before marking: check WB sanity]
  If there is a non-old object `obj' pointed from old object
  (`parent') then `parent' or `obj' should be remembered.
  [After marking: check marking miss]
  Traversible objects with the object graph should be marked.
  (However, this alert about objects pointed by machine context
   can be false positive. We only display alert.)
  [Implementation memo]
  objspace_allrefs() creates an object graph.
  The object graph is represented by st_table, key is object (VALUE)
  and value is referring objects. Referring objects are stored by
  "struct reflist".
* gc.c (init_mark_stack): do not use push_mark_stack_chunk() at init.
  This pre-allocation causes failure on is_mark_stask_empty()
  without any pushing.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 04:57:37 +00:00
zzak
f67be32291 * lib/observer.rb: [DOC] Clarify default observer method.
By @edward [Fixes GH-450] https://github.com/ruby/ruby/pull/450


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 04:44:45 +00:00
zzak
1d8d8ff57f * ext/openssl/ossl_engine.c: [DOC] Documentation for OpenSSL::Engine
This patch is based off work by @vbatts in GH-436 completing the
  documentation for this class and its methods.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 04:37:14 +00:00
zzak
0c873e97da * ext/openssl/lib/openssl/buffering.rb: Remove unused arguments from
OpenSSL::Buffering.new [Fixes GH-445]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 01:46:48 +00:00
svn
dd1ade2204 * 2013-11-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 01:31:59 +00:00
zzak
543c99e25a * test/digest/test_digest.rb: Add test for Digest::SHA256.bubblebabble
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 01:31:51 +00:00
tarui
4b13015447 * tool/instruction.rb : fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-20 11:56:36 +00:00
akr
ced9ad5ab5 * random.c (rand_init): Make it possible to specify arbitrary array
for init_genrand().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-20 11:05:38 +00:00
nobu
cdde8c23de test_exception.rb: enclose hash defininition
* test/ruby/test_exception.rb: (test_machine_stackoverflow): enclose
  hash defininition because SystemStackError raises at line 3 on
  FreeBSD, for unknown reason.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-20 09:01:42 +00:00
ko1
4e064fb0fd * parse.y (rb_gc_mark_symbols): set global_symbols.minor_marked only
when full_mark is 0.
  rb_gc_mark_symbols() (with full_mark == 1) can be called by other
  than GC (such as rb_objspace_reachable_objects_from_root()).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-20 08:40:56 +00:00
naruse
14cab32596 * ext/json: merge JSON 1.8.1.
002ac2771c...e09ffc0d7d
* Remove Rubinius exception since transcoding should be working now.
* Fix https://github.com/flori/json/issues/162 reported by Marc-Andre
  Lafortune <github_rocks@marc-andre.ca>. Thanks!
* Applied patches by Yui NARUSE <naruse@airemix.jp> to suppress
  warning with -Wchar-subscripts and better validate UTF-8 strings.
* Applied patch by ginriki@github to remove unnecessary if.
* Add load/dump interface to JSON::GenericObject to make
  serialize :some_attribute, JSON::GenericObject
  work in Rails active models for convenient
  SomeModel#some_attribute.foo.bar access to serialised JSON data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-20 02:55:08 +00:00
nobu
9d740ddebe eval_jump.c: reuse same tag
* eval_jump.c (rb_exec_end_proc): reduce number of pushing/popping
  and reuse same tag.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 17:01:10 +00:00
nobu
1eac0b55c9 rdoc/constant.rb: reapply r43006 for workaround of NoMethodError
* lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for
  NoMethodError when the original of alias is not found.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 16:39:07 +00:00
svn
372eefab52 * 2013-11-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 16:27:45 +00:00
nobu
a9a6c103e5 delegate.rb: refix r43682
* lib/delegate.rb (Delegator#send): separate from method_missing so
  that super calls proper method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 16:27:40 +00:00
nobu
b9294f226b configure.in: --with-os-version-style
* configure.in (--with-os-version-style): option to transform target
  OS version string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 14:38:52 +00:00
nobu
a8e29fb206 test_rdoc_generator_darkfish.rb: ignore nlink is not provided
* test/rdoc/test_rdoc_generator_darkfish.rb (assert_hard_link): makes
  no sense on platforms where link count is not provided.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 14:34:20 +00:00
nobu
11d2b16cfb rubygems/util.rb: fix Gem::Util.popen
* lib/rubygems/util.rb (Gem::Util.popen): should close open pipe to
  reap the child process, in 1.9 or later.  fix deadlock on waiting
  the child process whose output is bigger than pipe buffer, in 1.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 14:00:31 +00:00
nobu
4528d7e0cf rubygems/source/git.rb: discard output
* lib/rubygems/source/git.rb (Gem::Source::Git#checkout): discard git
  output.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 14:00:29 +00:00
nobu
ef37d178bb bignum.c: suppress warning
* bignum.c (absint_numwords_generic): suppress false warning in
  rb_absint_numwords() by gcc 4.4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 14:00:26 +00:00
akr
6895e77ffc * test/net/http/utils.rb (spawn_server): Specify zero for port to
avoid reusing an allocated port.

* test/net/http/test_http.rb: Don't specify port here.

* test/net/http/test_https.rb: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 12:29:46 +00:00
ko1
2127b9cfc7 * gc.c (heap_is_swept_object): use heap_page::before_sweep flag.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 09:52:52 +00:00
ko1
2d00e739ef * gc.c (rb_objspace_reachable_objects_from_root): do major marking.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 09:50:14 +00:00
ko1
301223df95 * gc.c (rb_gc_resurrect): added.
rb_fstring() used rb_gc_mark() to avoid freeing used string.
  However, rb_gc_mark() set mark bit *and* pushes mark_stack.
  rb_gc_resurrect() does only set mark bit if it is before sweeping.
* string.c (rb_fstring): use rb_gc_resurrect.
* internal.h: add decl.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 09:48:47 +00:00
nobu
1d2fbdcf25 ext/rbconfig/sizeof/sizes.c: ignore
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 07:03:51 +00:00
nobu
fbed9e8f78 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 00:51:06 +00:00
drbrain
cc46b530b0 * lib/rdoc: Update to RDoc master a1195ce. Changes include:
Improved accessibility of the main sidebar navigation.

  Fixed handling of regexp options in HTML source highlighting.

* test/rdoc:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 00:47:33 +00:00
drbrain
a7fa4d5d9a * lib/rubygems: Update to RubyGems master 6a3d9f9. Changes include:
Compatibly renamed Gem::DependencyResolver to Gem::Resolver.

  Added support for git gems in gem.deps.rb and Gemfile.

  Fixed resolver bugs.

* test/rubygems: ditto.

* lib/rubygems/LICENSE.txt:  Updated to license from RubyGems trunk.
  [ruby-trunk - Bug #9086]

* lib/rubygems/commands/which_command.rb:  RubyGems now indicates
  failure when any file is missing.  [ruby-trunk - Bug #9004]

* lib/rubygems/ext/builder:  Extensions are now installed into the
  extension install directory and the first directory in the require
  path from the gem.  This allows backwards compatibility with msgpack
  and other gems that calculate full require paths.
  [ruby-trunk - Bug #9106]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 00:34:13 +00:00
akr
e7ec3dad90 * configure.in (LOCALTIME_OVERFLOW_PROBLEM): Define it for cross
compiling.
  [ruby-core:58391] [Bug #9119] Reported by Luis Lavena.
  Analyzed by Heesob Park.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 22:24:52 +00:00
drbrain
2a051d7aea * lib/rdoc/rubygems_hook.rb: Remove debugging puts committed by
accident.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 20:55:18 +00:00
svn
230ddd70c2 * 2013-11-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 19:02:16 +00:00
headius
64e693dd32 * test/bigdecimal/test_bigdecimal.rb: incorporate BigMath.log
tests from JRuby by Peter Vandenabeele.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 19:02:11 +00:00
nobu
3f9d7b5ff0 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 14:21:25 +00:00
nobu
28849ce257 ext/rbconfig/sizeof: move to an extension library
* common.mk, ext/rbconfig/sizeof: move RbConfig::SIZEOF to an
  extension library to get rid of annoying nmake VPATH rule.

* inits.c (rb_call_inits), miniinit.c (Init_sizes): RbConfig::SIZEOF
  is no loger built-in.

* template/sizes.c.tmpl (Init_sizeof): rename initialization function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 14:19:16 +00:00
nobu
340390093b eval_intern.h: refine stack overflow detection
* eval_intern.h (TH_PUSH_TAG, TH_EXEC_TAG): refine stack overflow
  detection.  chain local tag after setjmp() successed on it, because
  calling setjmp() also can overflow the stack.
  [ruby-dev:47804] [Bug #9109]
* vm_eval.c (rb_catch_obj): now th->tag points previous tag until
  TH_EXEC_TAG().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 13:47:56 +00:00
nobu
53953eee7c thread_pthread.c: use get_main_stack properly
* thread_pthread.c (ruby_init_stack): set stack_start properly by
  get_main_stack() if possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 13:47:12 +00:00
nobu
ecbdd8fcad eval_jump.c: refix [Bug #9110]
* eval_jump.c (rb_exec_end_proc): unlink and free procs data before
  calling for each procs.  [Bug #9110]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 13:45:51 +00:00
nobu
eba3d83f4e configure.in: -Werror=division-by-zero
* configure.in (warnflags): make division-by-zero error for
  RUBY_CONST_ASSERT macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 04:04:41 +00:00
svn
5f2cc0da8e * 2013-11-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 02:30:03 +00:00
nobu
52e35469f0 vm_core.h: extract VM_STACK_OVERFLOWED_P
* vm_core.h (VM_STACK_OVERFLOWED_P, WHEN_VM_STACK_OVERFLOWED): extract
  condition from CHECK_VM_STACK_OVERFLOW.

* vm_exec.c (vm_stack_overflow_for_insn): move rb_bug call.

* vm_exec.h (CHECK_VM_STACK_OVERFLOW_FOR_INSN): share the condition
  with CHECK_VM_STACK_OVERFLOW.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 02:29:58 +00:00
nobu
aa358ac11c compile.c: tailcall on super
* compile.c (iseq_peephole_optimize): enable tail call optimization on
  super too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-17 14:34:30 +00:00
nobu
abdada2d85 hash.c: static internal functions
* hash.c (NOINSERT_UPDATE_CALLBACK): make both of noinsert and insert
  internal functions static.  and put semicolons for etags to find the
  following functions properly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-17 14:34:27 +00:00
nobu
b97f754876 string.c: constify
* string.c (tr_find): constify argument table.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-17 14:34:24 +00:00
sorah
fd6b01c49d Explain fix in r43697
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 21:45:51 +00:00
sorah
7cbdb708e9 * configure.in: Use $LIBS for base of $SOLIBS, also in darwin
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 21:36:54 +00:00
akr
b01b199052 * thread_pthread.c (thread_create_core): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 16:57:03 +00:00
svn
bfce3d10d7 * 2013-11-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 16:49:44 +00:00
akr
fbdd08b8c2 * thread_pthread.c (rb_thread_create_timer_thread): Show error
message instead of error number.

* cont.c (fiber_machine_stack_alloc): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 16:49:39 +00:00
kou
a66a9fbb10 * lib/rexml/parsers/ultralightparser.rb
(REXML::Parsers::UltraLightParser#parse): Fix wrong :start_doctype
  position.
  [Bug #9061] [ruby-dev:47778]
  Patch by Ippei Obayashi. Thanks!!!

* test/rexml/parser/test_ultra_light.rb: Add a test for this case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 09:31:24 +00:00
tarui
bc3db2a512 * test/ruby/test_hash.rb (class TestHash): add tests for [ruby-dev:47803] [Bug #9105]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 00:24:39 +00:00