Skip to content
Permalink
Browse files

8241765: Shenandoah: AARCH64 need to save/restore call clobbered regi…

…sters before calling keepalive barrier

Reviewed-by: rkennke, smonteith, aph
  • Loading branch information
zhengyu123 committed Mar 28, 2020
1 parent fee15ca commit 6b6c5bd62234628cfec960e5948ee504518fc21d
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
* Copyright (c) 2018, 2020, Red Hat, Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -384,13 +384,15 @@ void ShenandoahBarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet d
// 3: apply keep-alive barrier if needed
if (ShenandoahBarrierSet::need_keep_alive_barrier(decorators, type)) {
__ enter();
__ push_call_clobbered_registers();
satb_write_barrier_pre(masm /* masm */,
noreg /* obj */,
dst /* pre_val */,
rthread /* thread */,
tmp1 /* tmp */,
true /* tosca_live */,
true /* expand_call */);
__ pop_call_clobbered_registers();
__ leave();
}
}

0 comments on commit 6b6c5bd

Please sign in to comment.