summaryrefslogtreecommitdiff
path: root/benchmark/bm_vm1_gc_wb_obj_promoted.rb
blob: eee07a0248c2e66ddfd10a2af3945162a9fb8254 (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(full_mark: false, immediate_mark: true, 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