Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNmethod.java @ 10577:9c7d9e2c8326
PTX kernel execution - no args or return value
author | Morris Meyer <morris.meyer@oracle.com> |
---|---|
date | Sat, 29 Jun 2013 21:29:34 -0400 |
parents | 40b8c383bc31 |
children | 63d0eaa9b25d |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNmethod.java Sat Jun 29 11:40:52 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNmethod.java Sat Jun 29 21:29:34 2013 -0400 @@ -45,17 +45,30 @@ private final HotSpotResolvedJavaMethod method; private final boolean isDefault; + private final boolean isExternal; private final Graph graph; public HotSpotNmethod(HotSpotResolvedJavaMethod method, boolean isDefault, Graph graph) { this.method = method; this.isDefault = isDefault; + this.isExternal = false; + this.graph = graph; + } + + public HotSpotNmethod(HotSpotResolvedJavaMethod method, boolean isDefault, boolean isExternal, Graph graph) { + this.method = method; + this.isDefault = isDefault; + this.isExternal = isExternal; this.graph = graph; } public boolean isDefault() { return isDefault; } + + public boolean isExternal() { + return isExternal; + } public Graph getGraph() { return graph; @@ -107,7 +120,11 @@ @Override public Object executeVarargs(Object... args) throws InvalidInstalledCodeException { assert checkArgs(args); - return graalRuntime().getCompilerToVM().executeCompiledMethodVarargs(args, this); + if (isExternal()) { + return graalRuntime().getCompilerToGPU().executeExternalMethodVarargs(args, this); + } else { + return graalRuntime().getCompilerToVM().executeCompiledMethodVarargs(args, this); + } } @Override