8244821: Shenandoah: disarmed_value is initialized at wrong place

Reviewed-by: shade
This commit is contained in:
Zhengyu Gu 2020-05-12 10:01:36 -04:00
parent a6cdce1404
commit 25dcb1f717
2 changed files with 2 additions and 1 deletions

View File

@ -164,6 +164,7 @@ void ShenandoahBarrierSet::on_thread_attach(Thread *thread) {
if (thread->is_Java_thread()) {
ShenandoahThreadLocalData::set_gc_state(thread, _heap->gc_state());
ShenandoahThreadLocalData::initialize_gclab(thread);
ShenandoahThreadLocalData::set_disarmed_value(thread, ShenandoahCodeRoots::disarmed_value());
}
}

View File

@ -55,7 +55,7 @@ private:
_gclab_size(0),
_worker_id(INVALID_WORKER_ID),
_force_satb_flush(false),
_disarmed_value(ShenandoahCodeRoots::disarmed_value()) {
_disarmed_value(0) {
// At least on x86_64, nmethod entry barrier encodes _disarmed_value offset
// in instruction as disp8 immed