Граф коммитов

33906 Коммитов

Автор SHA1 Сообщение Дата
tmm1 332decb490 gc.c: fix typo in function name
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-10 03:25:28 +00:00
tmm1 7170baa878 objspace_dump.c: include object's gc flags in dump
* ext/objspace/objspace_dump.c (dump_object): include fstring flag on
  strings. include gc flags (old, remembered, wb_protected) on all objects.
* ext/objspace/objspace_dump.c (Init_objspace_dump): initialize lazy
  IDs before first use.
* gc.c (rb_obj_gc_flags): new function to retrieve object flags
* internal.h (RB_OBJ_GC_FLAGS_MAX): maximum flags allowed for one obj
* test/objspace/test_objspace.rb (test_dump_flags): test for above
* test/objspace/test_objspace.rb (test_trace_object_allocations):
  resolve name before dump (for rb_class_path_cached)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-10 02:26:09 +00:00
nobu 97d292cb55 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-10 01:51:06 +00:00
tmm1 4092574257 vm_method.c: add new ruby::method-cache-clear dtrace probe
* vm_method.c (rb_clear_method_cache_by_class): fire
  ruby::method-cache-clear probe on global or klass-level method cache
  clear [Bug #9190]
* probes.d (provider ruby): new dtrace probe
* doc/dtrace_probes.rdoc: docs for new probe
* test/dtrace/test_method_cache.rb: test for new probe

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 22:50:44 +00:00
drbrain 4f7c10f06f * ext/.document: Remove curses from documentable directories.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 21:16:19 +00:00
zzak 99e04c1345 * ext/openssl/lib/openssl/digest.rb: Deprecate OpenSSL::Digest::Digest
[Fixes GH-446] https://github.com/ruby/ruby/pull/446


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 19:56:45 +00:00
svn 062845c170 * 2013-12-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 15:47:42 +00:00
ktsj 2251a2729a * ext/thread/thread.c: [DOC] add call-seq alias for Queue#enq, #<<, etc.
* ext/thread/thread.c (Init_thread): use rb_define_alias instead of
  rb_alias to document alias.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 15:47:35 +00:00
charliesome c039c70815 * internal.h (RCLASS_SERIAL): Add RCLASS_SERIAL as a convenience
accessor for RCLASS_EXT(klass)->class_serial.

* class.c, vm_insnhelper.c, vm_method.c: Use RCLASS_SERIAL

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 11:00:23 +00:00
charliesome 7df9798126 * compile.c, insns.def, test/ruby/test_rubyvm.rb, vm.c, vm_core.h,
vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Rename method_serial
  to global_method_state and constant_serial to global_constant_state
  after discussion with ko1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 10:51:02 +00:00
tmm1 a111923062 hash.c: fix segv in Hash#replace
* hash.c (rb_hash_replace): fix segv on `{}.replace({})` introduced
  in r44060 [Bug #9230] [ruby-core:58991]
* test/ruby/test_hash.rb: regression test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 10:06:49 +00:00
ko1 5dc77048a3 * vm.c (vm_stat): renamed from ruby_vm_stat.
Should not use ruby_ prefix here.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 09:12:23 +00:00
hsbt e23627c047 * marshal.c: [DOC] Wordsmith marshal.c documentation. by @vipulnsward [fix GH-470]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 08:51:17 +00:00
nobu d2cc188ad5 gc.c: ObjectSpace::WeakMap#size
* gc.c (wmap_size): add ObjectSpace::WeakMap#size and #length.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 07:13:40 +00:00
nobu b73a306441 test_weakmap.rb: add
* test/ruby/test_weakmap.rb: test for ObjectSpace::WeakMap.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 07:13:38 +00:00
a_matsuda 28fd53d2de * lib/xmlrpc/httpserver.rb: [DOC] Fix typo
s/authentification/authentication/
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 07:04:43 +00:00
shugo e759e2739b removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 06:26:34 +00:00
shugo 9c5b2fd8aa * ext/curses, sample/curses: removed curses.
* NEWS: added an entry for the above change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 04:39:49 +00:00
nobu d3363a96df object_tracing.c: fix allocation from NEWOBJ hook
* ext/objspace/object_tracing.c (newobj_i): use cached class path
  only to get rid object allocation during NEWOBJ hook.
  [ruby-core:58853] [Bug #9212]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 03:26:07 +00:00
nobu b4ab650e1a variable.c: rb_class_path_cached
* variable.c (rb_class_path_cached): returns cached class path
  only, without searching and allocating new class path string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 03:25:38 +00:00
nobu 334294d0e2 date_parse.c: get rid of backtrack explosion
* ext/date/date_parse.c (parse_time): unset case-insensitive flag
  for [:alpha:], which already implies both cases, to get rid of
  backtrack explosion.  [ruby-core:58876] [Bug #9221]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 02:14:35 +00:00
drbrain 05ba6fffcc * lib/rubygems: Update to RubyGems master bf37240. Fixes useless
error message with `gem install -g` with no gem dependencies file.
* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 23:41:14 +00:00
tmm1 599dbf65a5 vm.c: fix compile issue on 32bit freebsd
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 23:07:43 +00:00
drbrain 68e2146738 * NEWS: Update RubyGems entry with notable features.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 19:52:38 +00:00
drbrain d71eb3108c * ext/.document: Add syslog/lib and thread/thread.c to documentable
items.  [ruby-trunk - Bug #9228]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 19:44:07 +00:00
drbrain da3e610adf * lib/rubygems: Update to RubyGems master 096db36. Changes include
support for PATH in Gemfile.lock and a typo fix from Akira Matsuda.
* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 19:32:07 +00:00
svn fe57c5d49e * 2013-12-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 17:11:52 +00:00
naruse 91539d71d8 * lib/net/http/responses.rb:
Add `HTTPIMUsed`, as it is also supported by rack/rails.
  RFC - http://tools.ietf.org/html/rfc3229
  by Vipul A M <vipulnsward@gmail.com>
  https://github.com/ruby/ruby/pull/447 fix GH-447

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 17:11:46 +00:00
mrkn e0097ea89f Fix the description in ChangeLog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 14:30:03 +00:00
nobu 673aa23050 class.c: rest kwargs
* class.c (rb_get_kwargs): when values is non-null, remove
  extracted keywords from the rest keyword argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:47:39 +00:00
nobu 6def265d79 variable.c: frozen class name
* variable.c (fc_path, classname): return ID strings without
  unnecessary copying.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:38:34 +00:00
kanemoto 9109292789 avoid circular dependency on AIX
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:33:59 +00:00
nobu cf85aaf83e hash.c: reject shoult infect
* hash.c (rb_hash_reject): result should be infected by the
  receiver.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:25:06 +00:00
mrkn 0727a22c69 * bigdecimal.c (BigDecimal_coerce): convert a Float to a BigDecimal instead
of converting the receiver to a Float.
  [ruby-core:58756] [Bug #9192]

* test/bigdecimal/test_bigdecimal.rb: add tests for the above change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:20:51 +00:00
naruse e54e3d70a8 edit NEWS to move texts correct places
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:04:56 +00:00
ktsj b521f42a88 * NEWS: [DOC] update NEWS about GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 09:33:56 +00:00
ktsj 40468b5bf1 * object.c: [DOC] document Module#singleton_class?.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 08:54:23 +00:00
nobu dd8710d243 class.c, vm_insnhelper.c: check unknown keywords
* class.c (rb_get_kwargs): if optional is negative, unknown
  keywords are allowed.
* vm_insnhelper.c (vm_callee_setup_keyword_arg): check unknown
  keywords.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 07:19:30 +00:00
nobu 72f60a2ff1 class.c: optimization just one key
* class.c (keyword_error): use only element itself for
  optimization in the case the key has just one element.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 07:17:21 +00:00
nobu 1a5bc2864d test_keyword.rb: check error messages
* test/ruby/test_keyword.rb (test_required_keyword): check also
  error messages.

* test/ruby/test_keyword.rb (test_block_required_keyword): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 07:17:18 +00:00
nobu 1018f57f2c array.c: id_random
* array.c (rb_ary_shuffle_bang, rb_ary_sample): share id_random
  instead of no longer used sym_random.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 06:47:39 +00:00
ktsj 7f5a9f3881 * array.c (rb_ary_shuffle_bang, rb_ary_sample): rename local variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 05:58:17 +00:00
ktsj 3e1360f370 * array.c (rb_ary_shuffle_bang, rb_ary_sample): check
unknown keywords.

* test/ruby/test_array.rb (test_shuffle, test_sample): tests for
  the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 05:02:12 +00:00
nobu 66a96c13f9 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 04:06:08 +00:00
tmm1 cc1063092b vm.c: add RubyVM.stat for accessing cache serials
* vm.c (ruby_vm_stat): add RubyVM.stat() for access to internal cache
  counters. this methods behaves like GC.stat, accepting an optional
  hash or symbol argument. [Bug #9190] [ruby-core:58750]
* test/ruby/test_rubyvm.rb: test for new method

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 04:05:59 +00:00
a_matsuda 2aa57843f2 * lib/xmlrpc/client.rb: [DOC] Fix typo
s/explicitely/explicitly/
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 03:51:11 +00:00
tmm1 3dd248f13d hash.c: fix WB miss issue in Hash#replace
* hash.c (rb_hash_replace): add a write barrier to fix GC mark miss on
  hashes using Hash#replace [Bug #9226] [ruby-core:58948]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 03:03:42 +00:00
tmm1 8f77cfb308 gc.c: promote long-lived NODE_CREF objects to oldgen
* include/ruby/ruby.h: add RGENGC_WB_PROTECTED_NODE_CREF setting
  In a large app, this reduces the size of
  remembered_shady_object_count by 80%. [Bug #9225] [ruby-core:58947]
* gc.c (rb_node_newnode): add FL_WB_PROTECTED flag to NODE_CREF
* class.c (rewrite_cref_stack): insert OBJ_WRITE for NODE_CREF
* iseq.c (set_relation): ditto
* iseq.c (rb_iseq_clone): ditto
* vm_eval.c (rb_yield_refine_block): ditto
* vm_insnhelper.c (vm_cref_push): ditto
* vm_insnhelper.h (COPY_CREF): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 02:28:04 +00:00
tmm1 779ae78995 hash.c: revert r43870 and add alternative parser patch for literal keys
* hash.c (hash_aset_str): revert r43870 due to performance issue
  [Bug #9188] [ruby-core:58730]
* parse.y (assoc): convert literal string hash keys to fstrings
* test/ruby/test_hash.rb (class TestHash): expand test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 01:52:28 +00:00
tmm1 98a74d4dd5 parse.y: use rb_fstring() for strings stored in the symbol table
* parse.y (register_symid_str): use fstrings in symbol table
  [Bug #9171] [ruby-core:58656]
* parse.y (rb_id2str): ditto
* string.c (rb_fstring): create frozen_strings on first usage. this
  allows rb_fstring() calls from the parser (before cString is created)
* string.c (fstring_set_class_i): set klass on fstrings generated
  before cString was defined
* string.c (Init_String): convert frozen_strings table to String
  objects after boot
* ext/-test-/symbol/type.c (bug_sym_id2str): expose rb_id2str()
* test/-ext-/symbol/test_type.rb (module Test_Symbol): verify symbol
  table entries are fstrings

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 01:39:27 +00:00