8255243: Reinforce escape barrier interactions with ZGC conc stack processing

Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: rrich, sspitsyn
This commit is contained in:
Erik Österlund 2020-10-29 14:18:11 +00:00
parent faf23de54d
commit 5b185585e8
15 changed files with 196 additions and 104 deletions

View file

@ -218,11 +218,6 @@ static bool eliminate_allocations(JavaThread* thread, int exec_mode, CompiledMet
Thread* THREAD = thread;
// Clear pending OOM if reallocation fails and return true indicating allocation failure
realloc_failures = Deoptimization::realloc_objects(thread, &deoptee, &map, objects, CHECK_AND_CLEAR_(true));
// Make sure the deoptee frame gets processed after a potential safepoint during
// object reallocation. This is necessary because (a) deoptee_thread can be
// different from the current thread and (b) the deoptee frame does not need to be
// the top frame.
StackWatermarkSet::finish_processing(deoptee_thread, NULL /* context */, StackWatermarkKind::gc);
deoptimized_objects = true;
} else {
JRT_BLOCK