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