diff -r 2c38991dd9b0 -r 63eb7e38ce84 src/hotspot/share/runtime/deoptimization.cpp --- a/src/hotspot/share/runtime/deoptimization.cpp Tue Jan 29 08:39:04 2019 -0500 +++ b/src/hotspot/share/runtime/deoptimization.cpp Tue Jan 29 14:34:26 2019 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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 @@ -1284,36 +1284,6 @@ } -void Deoptimization::revoke_biases_of_monitors(CodeBlob* cb) { - if (!UseBiasedLocking) { - return; - } - - assert(SafepointSynchronize::is_at_safepoint(), "must only be called from safepoint"); - GrowableArray* objects_to_revoke = new GrowableArray(); - for (JavaThreadIteratorWithHandle jtiwh; JavaThread *jt = jtiwh.next(); ) { - if (jt->has_last_Java_frame()) { - StackFrameStream sfs(jt, true); - while (!sfs.is_done()) { - frame* cur = sfs.current(); - if (cb->contains(cur->pc())) { - vframe* vf = vframe::new_vframe(cur, sfs.register_map(), jt); - compiledVFrame* cvf = compiledVFrame::cast(vf); - // Revoke monitors' biases in all scopes - while (!cvf->is_top()) { - collect_monitors(cvf, objects_to_revoke); - cvf = compiledVFrame::cast(cvf->sender()); - } - collect_monitors(cvf, objects_to_revoke); - } - sfs.next(); - } - } - } - BiasedLocking::revoke_at_safepoint(objects_to_revoke); -} - - void Deoptimization::deoptimize_single_frame(JavaThread* thread, frame fr, Deoptimization::DeoptReason reason) { assert(fr.can_be_deoptimized(), "checking frame type"); @@ -2300,11 +2270,6 @@ return _deoptimization_hist[Reason_none][0][0]; } -jint Deoptimization::deoptimization_count(DeoptReason reason) { - assert(reason >= 0 && reason < Reason_LIMIT, "oob"); - return _deoptimization_hist[reason][0][0]; -} - void Deoptimization::print_statistics() { juint total = total_deoptimization_count(); juint account = total;