1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

27 commits

Author SHA1 Message Date
Koichi Sasada
a96f8cecc2 ObjectSpace._id2ref should check liveness.
objspace->id_to_obj_tbl can contain died objects because of lazy
sweep, so that it should check liveness.
2019-12-23 15:04:56 +09:00
Nobuyoshi Nakada
23c92b6f82
Revert self-referencing finalizer warning [Feature ]
It has caused CI failures.

* d0cd0866d8

  Disable GC during rb_objspace_reachable_object_p

* 89cef1c56b

  Version guard for [Feature ]

* 796eeb6339.

  Fix up [Feature ]

* 928260c2a6.

  Warn in verbose mode on defining a finalizer that captures the object
2019-07-04 04:01:06 +09:00
Nobuyoshi Nakada
796eeb6339
Fix up [Feature ]
* Fixed warning condition
* Fixed function signature
* Use ident hash
2019-07-03 04:22:41 +09:00
nobu
9a9569b1c2 test_objectspace.rb: errors in a finalizer
* test/ruby/test_objectspace.rb (test_finalizer_with_super):
  adjust number of arguments to get rid of errors in a finalizer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-09 07:36:14 +00:00
shugo
76941e5f54 * vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104
partially to avoid "self has wrong type to call super in this
  context" errors.
  [ruby-core:72724] [Bug ]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-20 04:37:19 +00:00
nobu
96ac47c251 gc.c: do not expose internal singleton class
* gc.c (internal_object_p): should not expose singleton classes
  without a metaclass.  based on patches by ko1 and shugo.
  [Bug ]
* class.c (rb_singleton_class_object_p): added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 13:15:58 +00:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
nobu
0bd9072758 test_objectspace.rb: missing tests from rubyspec
* test/ruby/test_objectspace.rb (test_each_object): incorporated
  from rubyspec.

* test/ruby/test_objectspace.rb (test_each_object_enumerator):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-25 03:18:13 +00:00
ko1
46215c1e90 * gc.c (internal_object_p): Now a singleton classes appear by
ObjectSpace.each_object. [Bug ]
* test/ruby/test_objectspace.rb: add a test about it.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-21 19:04:56 +00:00
nobu
428791543b thread.c: get rid of invalid ID symbol
* eval.c (rb_frame_last_func): return the most recent frame method
  name.
* thread.c (recursive_list_access): use the last method name,
  instead of the current method name which can be unset in some
  cases, not to use a symbol by the invalid ID.
  [ruby-core:66742] [Bug ]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09 01:16:27 +00:00
akr
fb2008a73a * test/lib/envutil.rb: Moved from test/ruby/.
* test/lib/find_executable.rb: Ditto.

* test/lib/memory_status.rb: Ditto.

* test/lib/test/unit.rb: require envutil.

* test/: Don't require envutil in test files.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 16:05:37 +00:00
nobu
24974c0ea1 gc.c: preserve encoding
* gc.c (should_be_callable): preserve encoding of class name in
  error messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-10 08:22:03 +00:00
nobu
3ac0ec4ecd test/ruby: better assertions
* test/ruby: use better assertions instead of mere assert.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-13 09:18:05 +00:00
nobu
d6f5e30df8 test_objectspace.rb: run in separate process
* test/ruby/test_objectspace.rb (TestObjectSpace#test_finalizer): run
  in separate process so that finalizers run at termination certainly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-09 18:12:39 +00:00
nobu
3fdff0501a gc.c: private call
* gc.c (should_be_callable): allow private call since rb_eval_cmd
  calls even private methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-09 15:36:46 +00:00
nobu
596cecb057 test_objectspace.rb: run test_each_object separately
* test/ruby/test_objectspace.rb (TestObjectSpace#test_each_object):
  run separately.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-20 02:22:35 +00:00
ko1
41d77571ff * test/ruby/test_objectspace.rb: skip RuntimeError
which says a message "can't modify frozen File".
  Is that correct behavior?



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-03 11:06:21 +00:00
ko1
c4f9dd2626 * iseq.h: iseq_catch_table_entry::catch_type should be
Fixnum because they are pushed into Array in a compiler.
  [Bug ]
* test/ruby/test_objectspace.rb: add a test of this issue.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-03 10:03:25 +00:00
naruse
0de2d84af8 Clean warnings: unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-23 05:32:46 +00:00
mame
eafe85f603 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err): new
method.

* test/ruby/test_argf.rb: use assert_in_out_err instead of
  EnvUtil.rubyexec.

* test/ruby/test_module.rb: ditto.

* test/ruby/test_require.rb: ditto.

* test/ruby/test_objectspace.rb: ditto.

* test/ruby/test_object.rb: ditto.

* test/ruby/test_string.rb: ditto.

* test/ruby/test_method.rb: ditto.

* test/ruby/test_variable.rb: ditto.

* test/ruby/test_io.rb: ditto.

* test/ruby/test_rubyoptions.rb: ditto.

* test/ruby/test_exception.rb: ditto.

* test/ruby/test_class.rb: ditto.

* test/ruby/test_thread.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-15 15:26:04 +00:00
mame
00aae60f73 * test/ruby/test_gc.rb: add tests to achieve over 90% test coverage of
gc.c.

* test/ruby/test_objectspace.rb: ditto.

* test/ruby/test_marshal.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-05 14:57:05 +00:00
akr
afbf678a91 debug print removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-01 01:24:35 +00:00
akr
fa58f951cf * gc.c (count_objects): clear given hash.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31 14:03:23 +00:00
mame
71263844e2 * test/ruby/test_objectspace.rb: add a test for
ObjectSpace.count_objects.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 14:26:51 +00:00
akr
026cc75b9a use assert_same instead of assert_equal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-16 15:30:49 +00:00
akr
5172b5a848 fix string interpolation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-04 06:39:25 +00:00
akr
989fb4fec7 * gc.c (id2ref): fix symbol test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-04 06:28:51 +00:00