summaryrefslogtreecommitdiff
path: root/benchmark/bm_vm1_gc_wb_obj_promoted.rb
blob: 7967e8372654263340543da33405632c8a4fc67d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class C
  attr_accessor :foo
end
long_lived = C.new

if RUBY_VERSION > "2.2.0"
  3.times{ GC.start(immediate_mark: false, lazy_sweep: false) }
elsif
  GC.start
end

i = 0
short_lived = ''
while i<30_000_000 # while loop 1
  long_lived.foo = short_lived # write barrier
  i+=1
end