60 // store the original value that was in the field reference |
60 // store the original value that was in the field reference |
61 assert(ShenandoahThreadLocalData::satb_mark_queue(thread).is_active(), "Shouldn't be here otherwise"); |
61 assert(ShenandoahThreadLocalData::satb_mark_queue(thread).is_active(), "Shouldn't be here otherwise"); |
62 ShenandoahThreadLocalData::satb_mark_queue(thread).enqueue_known_active(orig); |
62 ShenandoahThreadLocalData::satb_mark_queue(thread).enqueue_known_active(orig); |
63 JRT_END |
63 JRT_END |
64 |
64 |
65 JRT_LEAF(oopDesc*, ShenandoahRuntime::load_reference_barrier(oopDesc* src)) |
65 JRT_LEAF(oopDesc*, ShenandoahRuntime::load_reference_barrier(oopDesc* src, oop* load_addr)) |
66 return ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(src, (oop*)NULL); |
|
67 JRT_END |
|
68 |
|
69 JRT_LEAF(oopDesc*, ShenandoahRuntime::load_reference_barrier_fixup(oopDesc* src, oop* load_addr)) |
|
70 return ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(src, load_addr); |
66 return ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(src, load_addr); |
71 JRT_END |
67 JRT_END |
72 |
68 |
73 JRT_LEAF(oopDesc*, ShenandoahRuntime::load_reference_barrier_fixup_narrow(oopDesc* src, narrowOop* load_addr)) |
69 JRT_LEAF(oopDesc*, ShenandoahRuntime::load_reference_barrier_narrow(oopDesc* src, narrowOop* load_addr)) |
74 return ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(src, load_addr); |
70 return ShenandoahBarrierSet::barrier_set()->load_reference_barrier_mutator(src, load_addr); |
75 JRT_END |
71 JRT_END |
76 |
72 |
77 // Shenandoah clone barrier: makes sure that references point to to-space |
73 // Shenandoah clone barrier: makes sure that references point to to-space |
78 // in cloned objects. |
74 // in cloned objects. |