mirror of
https://github.com/ruby/ruby.git
synced 2025-09-22 03:53:58 +02:00
Moved ujit code invalidation test into bootstraptest
This commit is contained in:
parent
56ce40e8be
commit
d2d564be1d
2 changed files with 30 additions and 27 deletions
30
bootstraptest/test_ujit.rb
Normal file
30
bootstraptest/test_ujit.rb
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Method redefinition (code invalidation) test
|
||||
assert_equal '1', %q{
|
||||
def ret1
|
||||
return 1
|
||||
end
|
||||
|
||||
klass = Class.new do
|
||||
def alias_then_hash(klass, method_to_redefine)
|
||||
# Redefine the method to be ret1
|
||||
klass.alias_method(method_to_redefine, :ret1)
|
||||
hash
|
||||
end
|
||||
end
|
||||
|
||||
instance = klass.new
|
||||
|
||||
i = 0
|
||||
while i < 12
|
||||
if i < 11
|
||||
# Redefine the bar method
|
||||
instance.alias_then_hash(klass, :bar)
|
||||
else
|
||||
# Redefine the hash method to be ret1
|
||||
retval = instance.alias_then_hash(klass, :hash)
|
||||
end
|
||||
i += 1
|
||||
end
|
||||
|
||||
retval
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue