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

33165 Коммитов

Автор SHA1 Сообщение Дата
nobu 0e040f8dbf compile.c, vm.c: reduce hash merge
* compile.c (compile_array_): no hash to merge if it is empty.
* vm.c (m_core_hash_merge_kwd): just check keys if only one argument
  is given, without merging.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-13 03:16:54 +00:00
nobu 060b4df0ac test_notimp.rb: test timeout
* test/ruby/test_notimp.rb (test_call_fork): test timeout directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-13 03:16:50 +00:00
kazu 0574cc8725 get rid of a garbage character
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-12 09:29:26 +00:00
kazu 62002341c7 fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-12 09:29:23 +00:00
nobu 86e6e2e778 * remove trailing spaces, append newline at EOF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 22:21:30 +00:00
drbrain 9cadc95b28 * NEWS (with all sufficient information):
* lib/rake:  Update to rake 10.1.0
* bin/rake:  ditto.
* test/rake:  ditto.

* NEWS:  Update NEWS to include rake 10.1.0 and links to release notes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 21:35:01 +00:00
ko1 52c1331763 * class.c, variable.c, gc.c (rb_class_tbl): removed.
* vm.c, vm_core.h (rb_vm_add_root_module): added to register as a
  defined root module or class.
  This guard helps mark miss from defined classes/modules they are
  only refered from C's global variables in C-exts.
  Basically, it is extension's bug.
  Register to hash object VM has.
  Marking a hash objects allows generational GC supports.
* gc.c (RGENGC_PRINT_TICK): disable (revert).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 18:27:18 +00:00
ko1 86b2e9d090 * vm_method.c (rb_gc_mark_unlinked_live_method_entries):
revert last commit to introduce debug prints.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 18:26:00 +00:00
ko1 9d70a17541 revert r43259 because it is possible to mark miss classes defined in C-exts. Thanks charliesome.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 18:03:43 +00:00
svn 3b0abede8e * 2013-10-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 17:33:50 +00:00
ko1 7aecb95637 * class.c, variable.c, gc.c (rb_class_tbl): removed.
rb_class_tbl is no longer used.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 17:33:44 +00:00
ko1 588586d9d4 * internal.h, parse.y: use `full_mark' instead of `full_marking'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 12:06:25 +00:00
ko1 432834dd35 * gc.c: use terminology `full_mark' instead of `minor_gc'
in mark functions.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 12:00:35 +00:00
ko1 f6fcb9cc94 * gc.c: use __GNUC__ instead of __GCC__.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 11:46:42 +00:00
ko1 f44b0e5b4f * gc.c, parse.y: support generational Symbol relatetd marking.
Each symbols has String objects respectively to represent
  Symbols.
  These objects are marked only when:
* full marking
* new symbols are added
  This hack reduce symbols (related strings) marking time.
  For example, on my Linux environment, the following code
  "20_000_000.times{''}"
  with 40k symbols (similar symbol number on Rails 3.2.14 app,
  @jugyo tells me) boosts, from 7.3sec to 4.2sec.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 11:45:38 +00:00
knu 73e014407f Import ruby-electric.el 2.0.1, a bug fix release.
* misc/ruby-electric.el: Import ruby-electric.el 2.0.1 which fixes
  a bug and a flaw with auto-end introduced in the revamp.

  * ruby-forward-sexp is inappropriate here because it moves the
    cursor past the keyword.

  * Fix a reversed looking-back check in
    ruby-electric--block-beg-keyword-at-point-p.

  * Do not add end again if space or return is hit repeatedly
    after a block beginning keyword.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 10:31:03 +00:00
ko1 33ab98f9e6 * ext/objspace/gc_hook.c: prohibit reentrant.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 09:13:18 +00:00
ko1 542b31ca27 * vm_trace.c (rb_postponed_job_flush): fix bit operation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 09:12:45 +00:00
knu 86597752f7 Import ruby-electric.el 2.0.
* misc/ruby-electric.el: Import ruby-electric.el 2.0 from
  https://github.com/knu/ruby-electric.el which integrates changes
  from another fork by @qoobaa.
  * Allow ruby-electric-mode to be disabled by introducing a
    dedicated key map.  Electric key bindings are now defined in
    ruby-electric-mode-map instead of overwriting ruby-mode-map.
  * Add ruby-electric-mode-hook.
  * Use a remap in binding ruby-electric-delete-backward-char.
  * Totally revamp electric keywords and then introduce electric
    return.  Modifier keywords are now properly detected making
    use of ruby-mode's indentation level calculator, and
  * block-mid keywords (then, else, elsif, when, rescue and
    ensure) also become electric with automatic reindentation.
  * Add standarized comments for ELPA integration.
  * Fix interaction with smartparens-mode by disabling its end
    keyword completion, since ruby-electric has become more clever
    at it.
  * The custom variable `ruby-electric-keywords` is changed to
    `ruby-electric-keywords-alist`, allowing user to fine-grained
    configuration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 08:38:52 +00:00
ko1 76f9281b92 * vm_trace.c (rb_postponed_job_flush): simplify.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 07:54:26 +00:00
ko1 19ae2748c7 revert r43248. Should not set interrupt_flag.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-11 06:23:19 +00:00
nobu 12a5525b6f vm_trace.c: use macro
* vm_trace.c (rb_postponed_job_flush): use dedicated macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 23:56:15 +00:00
nobu d7de529996 vm_trace.c: suppress warnings
* vm_trace.c (rb_postponed_job_flush): suppress clobbered variable
  warnings on some gcc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 23:52:40 +00:00
nobu 2d4c2453cc win32.h: define or declare finite always
* include/ruby/win32.h (finite): always define or declare.  some
  mingw (maybe w64 only?) lack the declaration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 23:52:38 +00:00
nobu 53861b8acd vm_trace.c: fix infinite hook
* thread.c (rb_threadptr_execute_interrupts): flush postponed job only
  once at last.
* vm_trace.c (rb_postponed_job_flush): defer calling postponed jobs
  registered while flushing to get rid of infinite reentrance of
  ObjectSpace.after_gc_start_hook.  [ruby-dev:47400] [Bug #8492]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 18:36:54 +00:00
svn abd6dc8c10 * 2013-10-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 16:29:02 +00:00
nobu b28ce966c7 st.c: revert st_keys
* st.c: revert st_keys() at r43238.  VALUE cannot be in st.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 16:28:56 +00:00
glass d4f37a5532 * array.c (rb_ary_or): remove unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 14:04:55 +00:00
glass 2423e3f350 * array.c (rb_ary_or): use rb_hash_keys().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 14:02:52 +00:00
glass 840cd22d85 * array.c (rb_ary_compact_bang): use ary_resize_smaller().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 12:37:58 +00:00
glass 026955e375 * st.c (st_keys): define st_keys() for performance improvement of
Hash#keys and Array#uniq.

* st.h: ditto.

* hash.c (rb_hash_keys): use st_keys().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 12:06:01 +00:00
ko1 4599d3efd7 * vm.c (vm_exec): support :b_return event for "lambda{return}.call".
[Bug #8622]
* test/ruby/test_settracefunc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 08:31:48 +00:00
nobu d63f9e933c win32.c: bail out if no memory
* win32/win32.c (rb_w32_write_console): bail out when buffer
  allocation failed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 06:33:38 +00:00
nobu 09b02349c2 numeric.c: no declaration of finite
* numeric.c (finite): disable declaration on Windows, which can be
  defined in ruby/win32.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 06:33:34 +00:00
ko1 fa7bf880b4 * vm_trace.c (postponed_job): use preallocated buffer.
Pre-allocate MAX_POSTPONED_JOB (1024) sized buffer
  and use it.
  If rb_postponed_job_register() cause overflow, simply it
  fails and returns 0.
  And maybe rb_postponed_job_register() is signal safe.
* vm_core.h: change data structure.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 04:56:32 +00:00
nobu 3d3a0d88c9 string.c: use str_duplicate
* string.c (rb_str_resurrect): use str_duplicate(), which does
  completely same.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 03:13:34 +00:00
nobu 16095eb187 vm.c: hide singleton class of frozen-core
* vm.c (Init_VM): hide also the singleton class of frozen-core, not
  only frozen-core itself.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10 02:11:37 +00:00
ko1 dcad4bda58 * test/ruby/test_rand.rb: fix r43224. local variable `e' is
no longer available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 21:04:12 +00:00
nobu 2918f391dd test/ruby: assert_raise_with_message
* test/ruby: use assert_raise_with_message

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 15:17:20 +00:00
svn e92ee13c6d * 2013-10-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 15:08:47 +00:00
mame 487a25d29b * numeric.c (fix_aref): avoid a possible undefined behavior.
1L << 63 on 64-bit platform is undefined, at least, according to
  ISO/IEC 9899 (C99) 6.5.7.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 15:08:41 +00:00
nobu 24cf72029f object.c: avoid inadvertent symbol creation
* object.c (id_for_attr): avoid inadvertent symbol creation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 14:57:04 +00:00
nagachika 372eb2cbfe * ChangeLog; fix typos in r43170.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 14:14:52 +00:00
nobu e3a716a2ab test_module.rb: quote name
* test/ruby/test_module.rb (test_bad_constants, test_invalid_attr):
  encode and quote name properly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 13:27:51 +00:00
kazu 437cfad071 fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 13:23:07 +00:00
nobu e70f74c3d2 vm_method.c: preserve encoding
* vm_method.c (rb_attr): preserve encoding of the attribute ID in
  error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 09:03:07 +00:00
nobu ef46e8d264 test_inadvertent_creation.rb: fix assertion name
* test/-ext-/symbol/test_inadvertent_creation.rb: fix assertion name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 09:03:03 +00:00
nobu 6af3029c8c test_inadvertent_creation.rb: use assert_not_interned?
* test/-ext-/symbol/test_inadvertent_creation.rb: use
  assert_not_interned? instead assert_not_send.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 08:45:30 +00:00
nobu 9ef55da910 test/unit/assertions.rb: return exception
* lib/test/unit/assertions.rb (assert_raise_with_message): return
  raised exception same as assert_raise.

* test/ruby, test/-ext-: use assert_raise_with_message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 08:43:12 +00:00
nobu 289d6bb30f test: use assert_raise
* test/ruby, test/-ext-: use assert_raise instead of assert_raises.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 08:41:13 +00:00