Mercurial > hg > graal-jvmci-8
changeset 9913:35f93560b1f0
ensure that <clinit> for HotSpotOptions is called irrespective of whether and -G: options are specified
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 06 Jun 2013 17:27:07 +0200 |
parents | fbad7372eccd |
children | 84890660eefb |
files | src/share/vm/graal/graalCompiler.cpp src/share/vm/graal/graalVMToCompiler.cpp src/share/vm/graal/graalVMToCompiler.hpp |
diffstat | 3 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompiler.cpp Thu Jun 06 15:35:52 2013 +0200 +++ b/src/share/vm/graal/graalCompiler.cpp Thu Jun 06 17:27:07 2013 +0200 @@ -85,6 +85,7 @@ { GRAAL_VM_ENTRY_MARK; HandleMark hm; + VMToCompiler::initOptions(); for (int i = 0; i < Arguments::num_graal_args(); ++i) { const char* arg = Arguments::graal_args_array()[i]; Handle option = java_lang_String::create_from_str(arg, THREAD);
--- a/src/share/vm/graal/graalVMToCompiler.cpp Thu Jun 06 15:35:52 2013 +0200 +++ b/src/share/vm/graal/graalVMToCompiler.cpp Thu Jun 06 17:27:07 2013 +0200 @@ -75,6 +75,13 @@ return Handle(JNIHandles::resolve_non_null(_vmToCompilerPermObject)); } +void VMToCompiler::initOptions() { + KlassHandle compilerKlass = loadClass(vmSymbols::com_oracle_graal_hotspot_HotSpotOptions()); + Thread* THREAD = Thread::current(); + compilerKlass->initialize(THREAD); + check_pending_exception("Error while calling initOptions"); +} + jboolean VMToCompiler::setOption(Handle option) { assert(!option.is_null(), ""); KlassHandle compilerKlass = loadClass(vmSymbols::com_oracle_graal_hotspot_HotSpotOptions());
--- a/src/share/vm/graal/graalVMToCompiler.hpp Thu Jun 06 15:35:52 2013 +0200 +++ b/src/share/vm/graal/graalVMToCompiler.hpp Thu Jun 06 17:27:07 2013 +0200 @@ -50,6 +50,9 @@ return _graalRuntimePermObject; } + // public static boolean HotSpotOptions.<clinit>(); + static void initOptions(); + // public static boolean HotSpotOptions.setOption(String option); static jboolean setOption(Handle option);