equal
deleted
inserted
replaced
55 switch (barrier) { |
55 switch (barrier) { |
56 #ifndef SERIALGC |
56 #ifndef SERIALGC |
57 case BarrierSet::G1SATBCT: |
57 case BarrierSet::G1SATBCT: |
58 case BarrierSet::G1SATBCTLogging: |
58 case BarrierSet::G1SATBCTLogging: |
59 { |
59 { |
60 __ g1_write_barrier_pre( base, index, offset, tmp, /*preserve_o_regs*/true); |
60 // Load and record the previous value. |
|
61 __ g1_write_barrier_pre(base, index, offset, |
|
62 noreg /* pre_val */, |
|
63 tmp, true /*preserve_o_regs*/); |
|
64 |
61 if (index == noreg ) { |
65 if (index == noreg ) { |
62 assert(Assembler::is_simm13(offset), "fix this code"); |
66 assert(Assembler::is_simm13(offset), "fix this code"); |
63 __ store_heap_oop(val, base, offset); |
67 __ store_heap_oop(val, base, offset); |
64 } else { |
68 } else { |
65 __ store_heap_oop(val, base, index); |
69 __ store_heap_oop(val, base, index); |