1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/benchmark/bm_vm1_gc_wb_ary_promoted.rb
normal 9f9d9e5000 benchmark/bm_vm1_gc_wb_*.rb: fix GC.start args for invalid keyword
"lazy_sweep" does not appear to have ever been a valid kwarg
for GC.start, however the opposite of "lazy_sweep" appears
to be "immediate_sweep".  So use immediate_sweep, and flip
the boolean value of each arg.

I guess this only started failing with r56981 in Dec 2016
("class.c: missing unknown_keyword_error",
 commit e3f0cca2f26ba44c810ac980cdff7dda129ae533)

* benchmark/bm_vm1_gc_wb_ary.rb: "lazy_sweep: false" => "immediate_sweep: true"
* benchmark/bm_vm1_gc_wb_ary_promoted.rb: ditto
* benchmark/bm_vm1_gc_wb_obj.rb: ditto
* benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-04 08:55:54 +00:00

14 lines
264 B
Ruby

long_lived = []
if RUBY_VERSION > "2.2.0"
3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) }
elsif
GC.start
end
i = 0
short_lived = ''
while i<30_000_000 # while loop 1
long_lived[0] = short_lived # write barrier
i+=1
end