< prev index next >
src/share/vm/prims/jni.cpp
Print this page
@@ -30,10 +30,12 @@
#include "classfile/javaClasses.hpp"
#include "classfile/symbolTable.hpp"
#include "classfile/systemDictionary.hpp"
#include "classfile/vmSymbols.hpp"
#include "interpreter/linkResolver.hpp"
+#include "jfr/jfrEvents.hpp"
+#include "jfr/support/jfrThreadId.hpp"
#include "utilities/macros.hpp"
#include "utilities/ostream.hpp"
#if INCLUDE_ALL_GCS
#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
#endif // INCLUDE_ALL_GCS
@@ -74,11 +76,10 @@
#include "runtime/signature.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/vm_operations.hpp"
#include "services/memTracker.hpp"
#include "services/runtimeService.hpp"
-#include "trace/tracing.hpp"
#include "utilities/defaultStream.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/events.hpp"
#include "utilities/histogram.hpp"
#ifdef TARGET_OS_FAMILY_linux
@@ -5016,10 +5017,18 @@
// Returns the function structure
struct JNINativeInterface_* jni_functions_nocheck() {
return &jni_NativeInterface;
}
+static void post_thread_start_event(const JavaThread* jt) {
+ assert(jt != NULL, "invariant");
+ EventThreadStart event;
+ if (event.should_commit()) {
+ event.set_thread(JFR_THREAD_ID(jt));
+ event.commit();
+ }
+}
// Invocation API
// Forward declaration
@@ -5237,15 +5246,11 @@
// Notify JVMTI
if (JvmtiExport::should_post_thread_life()) {
JvmtiExport::post_thread_start(thread);
}
- EventThreadStart event;
- if (event.should_commit()) {
- event.set_javalangthread(java_lang_Thread::thread_id(thread->threadObj()));
- event.commit();
- }
+ post_thread_start_event(thread);
#ifndef PRODUCT
#ifndef CALL_TEST_FUNC_WITH_WRAPPER_IF_NEEDED
#define CALL_TEST_FUNC_WITH_WRAPPER_IF_NEEDED(f) f()
#endif
@@ -5452,15 +5457,11 @@
// Notify the debugger
if (JvmtiExport::should_post_thread_life()) {
JvmtiExport::post_thread_start(thread);
}
- EventThreadStart event;
- if (event.should_commit()) {
- event.set_javalangthread(java_lang_Thread::thread_id(thread->threadObj()));
- event.commit();
- }
+ post_thread_start_event(thread);
*(JNIEnv**)penv = thread->jni_environment();
// Now leaving the VM, so change thread_state. This is normally automatically taken care
// of in the JVM_ENTRY. But in this situation we have to do it manually. Notice, that by
< prev index next >