void GCLocker::lock_critical(JavaThread* thread) { if (!thread->in_critical()) { if (needs_gc()) { // jni_lock call calls enter_critical under the lock so that the // global lock count and per thread count are in agreement.
jni_lock(thread); return;
}
increment_debug_jni_lock_count();
}
thread->enter_critical();
}
void GCLocker::unlock_critical(JavaThread* thread) { if (thread->in_last_critical()) { if (needs_gc()) { // jni_unlock call calls exit_critical under the lock so that // the global lock count and per thread count are in agreement.
jni_unlock(thread); return;
}
decrement_debug_jni_lock_count();
}
thread->exit_critical();
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.