< prev index next >

src/hotspot/share/jvmci/jvmci.hpp

Print this page

        

*** 43,66 **** class JVMCI : public AllStatic { friend class JVMCIRuntime; friend class JVMCIEnv; private: ! // Handles to objects in the HotSpot heap. ! static OopStorage* _object_handles; ! static OopStorage* object_handles(); ! // Handles to Metadata objects. ! static MetadataHandleBlock* _metadata_handles; ! // Access to the HotSpotJVMCIRuntime used by the CompileBroker. ! static JVMCIRuntime* _compiler_runtime; ! // Access to the HotSpotJVMCIRuntime used by Java code running on the ! // HotSpot heap. It will be the same as _compiler_runtime if ! // UseJVMCINativeLibrary is false static JVMCIRuntime* _java_runtime; public: enum CodeInstallResult { ok, --- 43,70 ---- class JVMCI : public AllStatic { friend class JVMCIRuntime; friend class JVMCIEnv; private: ! // Access to the HotSpotJVMCIRuntime used by the CompileBroker. ! static JVMCIRuntime* _compiler_runtime; ! // True when at least one JVMCIRuntime::initialize_HotSpotJVMCIRuntime() ! // execution has completed successfully. ! static volatile bool _is_initialized; ! // Handle created when loading the JVMCI shared library with os::dll_load. ! // Must hold JVMCI_lock when initializing. ! static void* _shared_library_handle; ! // Argument to os::dll_load when loading JVMCI shared library ! static char* _shared_library_path; ! ! // Records whether JVMCI::shutdown has been called. ! static volatile bool _in_shutdown; ! // Access to the HotSpot heap based JVMCIRuntime static JVMCIRuntime* _java_runtime; public: enum CodeInstallResult { ok,
*** 68,86 **** dependencies_invalid, cache_full, code_too_large }; static void do_unloading(bool unloading_occurred); static void metadata_do(void f(Metadata*)); static void oops_do(OopClosure* f); static void shutdown(); ! static bool shutdown_called(); static bool is_compiler_initialized(); /** * Determines if the VM is sufficiently booted to initialize JVMCI. --- 72,97 ---- dependencies_invalid, cache_full, code_too_large }; + // Gets the handle to the loaded JVMCI shared library, loading it + // first if not yet loaded and `load` is true. The path from + // which the library is loaded is returned in `path`. If + // `load` is true then JVMCI_lock must be locked. + static void* get_shared_library(char*& path, bool load); + static void do_unloading(bool unloading_occurred); static void metadata_do(void f(Metadata*)); static void oops_do(OopClosure* f); static void shutdown(); ! // Returns whether JVMCI::shutdown has been called. ! static bool in_shutdown(); static bool is_compiler_initialized(); /** * Determines if the VM is sufficiently booted to initialize JVMCI.
*** 89,107 **** static void initialize_globals(); static void initialize_compiler(TRAPS); - static jobject make_global(const Handle& obj); - static void destroy_global(jobject handle); - static bool is_global_handle(jobject handle); - - static jmetadata allocate_handle(const methodHandle& handle); - static jmetadata allocate_handle(const constantPoolHandle& handle); - - static void release_handle(jmetadata handle); - static JVMCIRuntime* compiler_runtime() { return _compiler_runtime; } static JVMCIRuntime* java_runtime() { return _java_runtime; } }; #endif // SHARE_JVMCI_JVMCI_HPP --- 100,111 ---- static void initialize_globals(); static void initialize_compiler(TRAPS); static JVMCIRuntime* compiler_runtime() { return _compiler_runtime; } + // Gets the single runtime for JVMCI on the Java heap. This is the only + // JVMCI runtime available when !UseJVMCINativeLibrary. static JVMCIRuntime* java_runtime() { return _java_runtime; } }; #endif // SHARE_JVMCI_JVMCI_HPP
< prev index next >