< prev index next >
src/hotspot/share/jvmci/jvmciEnv.hpp
Print this page
*** 42,53 ****
// Helper to log more context on a JNI exception
#define JVMCI_EXCEPTION_CHECK(env, ...) \
do { \
if (env->ExceptionCheck()) { \
! if (env != JavaThread::current()->jni_environment() && JVMCIEnv::get_shared_library_path() != NULL) { \
! tty->print_cr("In JVMCI shared library (%s):", JVMCIEnv::get_shared_library_path()); \
} \
tty->print_cr(__VA_ARGS__); \
return; \
} \
} while(0)
--- 42,56 ----
// Helper to log more context on a JNI exception
#define JVMCI_EXCEPTION_CHECK(env, ...) \
do { \
if (env->ExceptionCheck()) { \
! if (env != JavaThread::current()->jni_environment()) { \
! char* sl_path; \
! if (::JVMCI::get_shared_library(sl_path, false) != NULL) { \
! tty->print_cr("In JVMCI shared library (%s):", sl_path); \
! } \
} \
tty->print_cr(__VA_ARGS__); \
return; \
} \
} while(0)
*** 139,158 ****
// interactions with JVMCI objects so that a single version of the
// HotSpot C++ code can can work with either runtime.
class JVMCIEnv : public ResourceObj {
friend class JNIAccessMark;
- static char* _shared_library_path; // argument to os:dll_load
- static void* _shared_library_handle; // result of os::dll_load
- static JavaVM* _shared_library_javavm; // result of calling JNI_CreateJavaVM in shared library
-
- // Initializes the shared library JavaVM if not already initialized.
- // Returns the JNI interface pointer for the current thread
- // if initialization was performed by this call, NULL if
- // initialization was performed by a previous call.
- static JNIEnv* init_shared_library(JavaThread* thread);
-
// Initializes the _env, _mode and _runtime fields.
void init_env_mode_runtime(JavaThread* thread, JNIEnv* parent_env);
void init(JavaThread* thread, bool is_hotspot, const char* file, int line);
--- 142,151 ----
*** 380,393 ****
oop resolve_handle(jlong objectHandle);
// These are analagous to the JNI routines
JVMCIObject make_local(JVMCIObject object);
JVMCIObject make_global(JVMCIObject object);
- JVMCIObject make_weak(JVMCIObject object);
void destroy_local(JVMCIObject object);
void destroy_global(JVMCIObject object);
- void destroy_weak(JVMCIObject object);
// Deoptimizes the nmethod (if any) in the HotSpotNmethod.address
// field of mirror. The field is subsequently zeroed.
void invalidate_nmethod_mirror(JVMCIObject mirror, JVMCI_TRAPS);
--- 373,384 ----
*** 395,407 ****
private:
JVMCICompileState* _compile_state;
public:
- static JavaVM* get_shared_library_javavm() { return _shared_library_javavm; }
- static void* get_shared_library_handle() { return _shared_library_handle; }
- static char* get_shared_library_path() { return _shared_library_path; }
// Determines if this is for the JVMCI runtime in the HotSpot
// heap (true) or the shared library heap (false).
bool is_hotspot() { return _is_hotspot; }
--- 386,395 ----
< prev index next >