8220623: [JVMCI] Update JVMCI to support JVMCI based Compiler compiled into shared library

Reviewed-by: dnsimon, never, stefank, rehn, neliasso, dholmes, kbarrett, coleenp
This commit is contained in:
Vladimir Kozlov 2019-05-01 12:31:29 -07:00
parent f9bbbb6e27
commit e9c523ae5f
173 changed files with 12881 additions and 5297 deletions

View file

@ -25,8 +25,6 @@
#define SHARE_JVMCI_JVMCICOMPILER_HPP
#include "compiler/abstractCompiler.hpp"
#include "jvmci/jvmciEnv.hpp"
#include "utilities/exceptions.hpp"
class JVMCICompiler : public AbstractCompiler {
private:
@ -65,7 +63,7 @@ public:
return _instance;
}
virtual const char* name() { return "JVMCI"; }
virtual const char* name() { return UseJVMCINativeLibrary ? "JVMCI-native" : "JVMCI"; }
virtual bool supports_native() { return true; }
virtual bool supports_osr () { return true; }
@ -90,11 +88,13 @@ public:
bool is_bootstrapping() const { return _bootstrapping; }
void set_bootstrap_compilation_request_handled() {
_instance->_bootstrap_compilation_request_handled = true;
}
// Compilation entry point for methods
virtual void compile_method(ciEnv* env, ciMethod* target, int entry_bci, DirectiveSet* directive);
void compile_method(const methodHandle& target, int entry_bci, JVMCIEnv* env);
// Print compilation timers and statistics
virtual void print_timers();
@ -104,6 +104,10 @@ public:
*/
int methods_compiled() { return _methods_compiled; }
void inc_methods_compiled() {
Atomic::inc(&_methods_compiled);
}
// Print compilation timers and statistics
static void print_compilation_timers();