summaryrefslogtreecommitdiff
path: root/test/ruby/test_rubyvm_mjit.rb
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-19 15:08:55 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-10-19 15:08:55 +0000
commit320d7c54ba01a6a19ebec25dadab7196da95f3e7 (patch)
treef3ce851ace022201038c3df320a8f6c8e52215e8 /test/ruby/test_rubyvm_mjit.rb
parent1a7249bc03615ffa77b23d08d8b287cce3ed10ee (diff)
mjit.c: don't let MJIT.pause hang on full active units
test/ruby/test_rubyvm_mjit.rb: add reproductive test [Bug #15071] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_rubyvm_mjit.rb')
-rw-r--r--test/ruby/test_rubyvm_mjit.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/ruby/test_rubyvm_mjit.rb b/test/ruby/test_rubyvm_mjit.rb
index ce4940ba2d..b41ad78510 100644
--- a/test/ruby/test_rubyvm_mjit.rb
+++ b/test/ruby/test_rubyvm_mjit.rb
@@ -33,6 +33,18 @@ class TestRubyVMMJIT < Test::Unit::TestCase
)
end
+ def test_pause_does_not_hang_on_full_units
+ out, _ = eval_with_jit(<<~'EOS', verbose: 1, min_calls: 1, max_cache: 10, wait: false)
+ i = 0
+ while i < 11
+ eval("def mjit#{i}; end; mjit#{i}")
+ i += 1
+ end
+ print RubyVM::MJIT.pause
+ EOS
+ assert_equal('true', out)
+ end
+
def test_pause_wait_false
out, err = eval_with_jit(<<~'EOS', verbose: 1, min_calls: 1, wait: false)
i = 0