< prev index next >
src/hotspot/share/runtime/deoptimization.cpp
Print this page
rev 54838 : [mq]: 8221734-v2
rev 54839 : [mq]: 8221734-v3
@@ -1292,11 +1292,11 @@
cvf = compiledVFrame::cast(cvf->sender());
}
collect_monitors(cvf, objects_to_revoke);
}
-void Deoptimization::inflate_monitors(JavaThread* thread, frame fr, RegisterMap* map) {
+void Deoptimization::revoke_safepoint(JavaThread* thread, frame fr, RegisterMap* map) {
if (!UseBiasedLocking) {
return;
}
GrowableArray<Handle>* objects_to_revoke = new GrowableArray<Handle>();
get_monitors_from_stack(objects_to_revoke, thread, fr, map);
@@ -1306,11 +1306,11 @@
} else {
BiasedLocking::revoke(objects_to_revoke);
}
}
-void Deoptimization::inflate_monitors_handshake(JavaThread* thread, frame fr, RegisterMap* map) {
+void Deoptimization::revoke_handshake(JavaThread* thread, frame fr, RegisterMap* map) {
if (!UseBiasedLocking) {
return;
}
GrowableArray<Handle>* objects_to_revoke = new GrowableArray<Handle>();
get_monitors_from_stack(objects_to_revoke, thread, fr, map);
@@ -1318,13 +1318,12 @@
int len = objects_to_revoke->length();
for (int i = 0; i < len; i++) {
oop obj = (objects_to_revoke->at(i))();
markOop mark = obj->mark();
assert(!mark->has_bias_pattern() || mark->biased_locker() == thread, "Can't revoke");
- BiasedLocking::revoke_and_rebias_in_handshake(objects_to_revoke->at(i), thread);
+ BiasedLocking::revoke_own_locks_in_handshake(objects_to_revoke->at(i), thread);
assert(!obj->mark()->has_bias_pattern(), "biases should be revoked by now");
- ObjectSynchronizer::inflate(thread, obj, ObjectSynchronizer::inflate_cause_vm_internal);
}
}
void Deoptimization::deoptimize_single_frame(JavaThread* thread, frame fr, Deoptimization::DeoptReason reason) {
@@ -1372,13 +1371,13 @@
}
ResourceMark rm;
DeoptimizationMarker dm;
if (UseBiasedLocking) {
if (in_handshake) {
- inflate_monitors_handshake(thread, fr, map);
+ revoke_handshake(thread, fr, map);
} else {
- inflate_monitors(thread, fr, map);
+ revoke_safepoint(thread, fr, map);
}
}
deoptimize_single_frame(thread, fr, reason);
}
@@ -1540,11 +1539,11 @@
{
ResourceMark rm;
// Revoke biases of any monitors in the frame to ensure we can migrate them
- fix_monitors(thread, fr, ®_map);
+ revoke_biases_of_monitors(thread, fr, ®_map);
DeoptReason reason = trap_request_reason(trap_request);
DeoptAction action = trap_request_action(trap_request);
#if INCLUDE_JVMCI
int debug_id = trap_request_debug_id(trap_request);
< prev index next >