--- a/src/hotspot/share/interpreter/interpreterRuntime.cpp Thu Oct 17 20:27:44 2019 +0100
+++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp Thu Oct 17 20:53:35 2019 +0100
@@ -28,6 +28,7 @@
#include "classfile/systemDictionary.hpp"
#include "classfile/vmSymbols.hpp"
#include "code/codeCache.hpp"
+#include "compiler/compilationPolicy.hpp"
#include "compiler/compileBroker.hpp"
#include "compiler/disassembler.hpp"
#include "gc/shared/barrierSetNMethod.hpp"
@@ -52,7 +53,6 @@
#include "prims/nativeLookup.hpp"
#include "runtime/atomic.hpp"
#include "runtime/biasedLocking.hpp"
-#include "runtime/compilationPolicy.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/fieldDescriptor.inline.hpp"
#include "runtime/frame.inline.hpp"
@@ -206,7 +206,7 @@
if (rindex >= 0) {
oop coop = m->constants()->resolved_references()->obj_at(rindex);
oop roop = (result == NULL ? Universe::the_null_sentinel() : result);
- assert(oopDesc::equals(roop, coop), "expected result for assembly code");
+ assert(roop == coop, "expected result for assembly code");
}
}
#endif
@@ -769,15 +769,10 @@
Atomic::inc(BiasedLocking::slow_path_entry_count_addr());
}
Handle h_obj(thread, elem->obj());
- assert(Universe::heap()->is_in_reserved_or_null(h_obj()),
+ assert(Universe::heap()->is_in_or_null(h_obj()),
"must be NULL or an object");
- if (UseBiasedLocking) {
- // Retry fast entry if bias is revoked to avoid unnecessary inflation
- ObjectSynchronizer::fast_enter(h_obj, elem->lock(), true, CHECK);
- } else {
- ObjectSynchronizer::slow_enter(h_obj, elem->lock(), CHECK);
- }
- assert(Universe::heap()->is_in_reserved_or_null(elem->obj()),
+ ObjectSynchronizer::enter(h_obj, elem->lock(), CHECK);
+ assert(Universe::heap()->is_in_or_null(elem->obj()),
"must be NULL or an object");
#ifdef ASSERT
thread->last_frame().interpreter_frame_verify_monitor(elem);
@@ -791,12 +786,12 @@
thread->last_frame().interpreter_frame_verify_monitor(elem);
#endif
Handle h_obj(thread, elem->obj());
- assert(Universe::heap()->is_in_reserved_or_null(h_obj()),
+ assert(Universe::heap()->is_in_or_null(h_obj()),
"must be NULL or an object");
if (elem == NULL || h_obj()->is_unlocked()) {
THROW(vmSymbols::java_lang_IllegalMonitorStateException());
}
- ObjectSynchronizer::slow_exit(h_obj(), elem->lock(), thread);
+ ObjectSynchronizer::exit(h_obj(), elem->lock(), thread);
// Free entry. This must be done here, since a pending exception might be installed on
// exit. If it is not cleared, the exception handling code will try to unlock the monitor again.
elem->set_obj(NULL);
@@ -858,10 +853,10 @@
Symbol* signature = call.signature();
receiver = Handle(thread, last_frame.callee_receiver(signature));
- assert(Universe::heap()->is_in_reserved_or_null(receiver()),
+ assert(Universe::heap()->is_in_or_null(receiver()),
"sanity check");
assert(receiver.is_null() ||
- !Universe::heap()->is_in_reserved(receiver->klass()),
+ !Universe::heap()->is_in(receiver->klass()),
"sanity check");
}
@@ -1106,7 +1101,7 @@
objects_to_revoke->append(Handle(THREAD, kptr->obj()));
}
}
- BiasedLocking::revoke(objects_to_revoke);
+ BiasedLocking::revoke(objects_to_revoke, thread);
}
}
return osr_nm;
@@ -1440,7 +1435,7 @@
method->set_signature_handler(_handlers->at(handler_index));
}
} else {
- CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
+ DEBUG_ONLY(Thread::current()->check_possible_safepoint());
// use generic signature handler
method->set_signature_handler(Interpreter::slow_signature_handler());
}