< 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 >