740 JRT_ENTRY(void, Runtime1::throw_incompatible_class_change_error(JavaThread* current))
741 #ifndef PRODUCT
742 if (PrintC1Statistics) {
743 _throw_incompatible_class_change_error_count++;
744 }
745 #endif
746 ResourceMark rm(current);
747 SharedRuntime::throw_and_post_jvmti_exception(current, vmSymbols::java_lang_IncompatibleClassChangeError());
748 JRT_END
749
750
751 JRT_BLOCK_ENTRY(void, Runtime1::monitorenter(JavaThread* current, oopDesc* obj, BasicObjectLock* lock))
752 #ifndef PRODUCT
753 if (PrintC1Statistics) {
754 _monitorenter_slowcase_cnt++;
755 }
756 #endif
757 if (LockingMode == LM_MONITOR) {
758 lock->set_obj(obj);
759 }
760 assert(LockingMode == LM_LIGHTWEIGHT || obj == lock->obj(), "must match");
761 SharedRuntime::monitor_enter_helper(obj, LockingMode == LM_LIGHTWEIGHT ? nullptr : lock->lock(), current);
762 JRT_END
763
764
765 JRT_LEAF(void, Runtime1::monitorexit(JavaThread* current, BasicObjectLock* lock))
766 assert(current == JavaThread::current(), "pre-condition");
767 #ifndef PRODUCT
768 if (PrintC1Statistics) {
769 _monitorexit_slowcase_cnt++;
770 }
771 #endif
772 assert(current->last_Java_sp(), "last_Java_sp must be set");
773 oop obj = lock->obj();
774 assert(oopDesc::is_oop(obj), "must be null or an object");
775 SharedRuntime::monitor_exit_helper(obj, lock->lock(), current);
776 JRT_END
777
778 // Cf. OptoRuntime::deoptimize_caller_frame
779 JRT_ENTRY(void, Runtime1::deoptimize(JavaThread* current, jint trap_request))
780 // Called from within the owner thread, so no need for safepoint
781 RegisterMap reg_map(current,
|
740 JRT_ENTRY(void, Runtime1::throw_incompatible_class_change_error(JavaThread* current))
741 #ifndef PRODUCT
742 if (PrintC1Statistics) {
743 _throw_incompatible_class_change_error_count++;
744 }
745 #endif
746 ResourceMark rm(current);
747 SharedRuntime::throw_and_post_jvmti_exception(current, vmSymbols::java_lang_IncompatibleClassChangeError());
748 JRT_END
749
750
751 JRT_BLOCK_ENTRY(void, Runtime1::monitorenter(JavaThread* current, oopDesc* obj, BasicObjectLock* lock))
752 #ifndef PRODUCT
753 if (PrintC1Statistics) {
754 _monitorenter_slowcase_cnt++;
755 }
756 #endif
757 if (LockingMode == LM_MONITOR) {
758 lock->set_obj(obj);
759 }
760 assert(obj == lock->obj(), "must match");
761 SharedRuntime::monitor_enter_helper(obj, lock->lock(), current);
762 JRT_END
763
764
765 JRT_LEAF(void, Runtime1::monitorexit(JavaThread* current, BasicObjectLock* lock))
766 assert(current == JavaThread::current(), "pre-condition");
767 #ifndef PRODUCT
768 if (PrintC1Statistics) {
769 _monitorexit_slowcase_cnt++;
770 }
771 #endif
772 assert(current->last_Java_sp(), "last_Java_sp must be set");
773 oop obj = lock->obj();
774 assert(oopDesc::is_oop(obj), "must be null or an object");
775 SharedRuntime::monitor_exit_helper(obj, lock->lock(), current);
776 JRT_END
777
778 // Cf. OptoRuntime::deoptimize_caller_frame
779 JRT_ENTRY(void, Runtime1::deoptimize(JavaThread* current, jint trap_request))
780 // Called from within the owner thread, so no need for safepoint
781 RegisterMap reg_map(current,
|