Mercurial > hg > graal-jvmci-8
diff src/share/vm/graal/graalRuntime.cpp @ 16691:dd8449afc086
GNFI: move GNFI interfaces to oracle.nfi - interface does not depend on graal
author | Matthias Grimmer <grimmer@ssw.jku.at> |
---|---|
date | Tue, 05 Aug 2014 15:58:11 +0200 |
parents | 4d0d1dc5db00 |
children | 91e7d77cfb81 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalRuntime.cpp Tue Aug 05 12:34:55 2014 +0200 +++ b/src/share/vm/graal/graalRuntime.cpp Tue Aug 05 15:58:11 2014 +0200 @@ -664,6 +664,18 @@ return JNIHandles::make_local((oop) result.get_jobject()); JVM_END +// private static NativeFunctionInterfaceRuntime.createInterface() +JVM_ENTRY(jobject, JVM_CreateNativeFunctionInterface(JNIEnv *env, jclass c)) + TempNewSymbol name = SymbolTable::new_symbol("com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend", CHECK_NULL); + KlassHandle klass = GraalRuntime::resolve_or_fail(name, CHECK_NULL); + + TempNewSymbol makeInstance = SymbolTable::new_symbol("createNativeFunctionInterface", CHECK_NULL); + TempNewSymbol sig = SymbolTable::new_symbol("()Lcom/oracle/nfi/api/NativeFunctionInterface;", CHECK_NULL); + JavaValue result(T_OBJECT); + JavaCalls::call_static(&result, klass, makeInstance, sig, CHECK_NULL); + return JNIHandles::make_local((oop) result.get_jobject()); +JVM_END + void GraalRuntime::check_generated_sources_sha1(TRAPS) { TempNewSymbol name = SymbolTable::new_symbol("GeneratedSourcesSha1", CHECK_ABORT); KlassHandle klass = load_required_class(name);