aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark/bm_vm1_gc_wb_obj_promoted.rb
blob: 674c413992dfff200ec17f7a9d5323a30b9b51bf (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, immediate_sweep: true) }
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