Mercurial > hg > truffle
changeset 12577:32d08d88c881
restricted initialization of ForeignCallProvider during VM startup to only be for the ForeignCallProvider of the host backend.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 25 Oct 2013 00:12:54 +0200 |
parents | 847819feb98e |
children | 7315fb9b0679 |
files | graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotForeignCallsProvider.java graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotForeignCallsProvider.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProvider.java |
diffstat | 4 files changed, 3 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotForeignCallsProvider.java Thu Oct 24 21:19:08 2013 +0200 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotForeignCallsProvider.java Fri Oct 25 00:12:54 2013 +0200 @@ -25,7 +25,6 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.graph.*; -import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.meta.*; public class HSAILHotSpotForeignCallsProvider implements HotSpotForeignCallsProvider { @@ -55,7 +54,4 @@ public Value[] getNativeABICallerSaveRegisters() { throw GraalInternalError.unimplemented(); } - - public void initialize(HotSpotProviders providers, HotSpotVMConfig config) { - } }
--- a/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotForeignCallsProvider.java Thu Oct 24 21:19:08 2013 +0200 +++ b/graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotForeignCallsProvider.java Fri Oct 25 00:12:54 2013 +0200 @@ -25,7 +25,6 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; import com.oracle.graal.graph.*; -import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.meta.*; public class PTXHotSpotForeignCallsProvider implements HotSpotForeignCallsProvider { @@ -49,7 +48,4 @@ public Value[] getNativeABICallerSaveRegisters() { throw GraalInternalError.unimplemented(); } - - public void initialize(HotSpotProviders providers, HotSpotVMConfig config) { - } }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Thu Oct 24 21:19:08 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java Fri Oct 25 00:12:54 2013 +0200 @@ -181,7 +181,9 @@ } final HotSpotProviders hostProviders = runtime.getHostProviders(); - assert VerifyOptionsPhase.checkOptions(hostProviders.getMetaAccess(), hostProviders.getForeignCalls()); + HotSpotHostForeignCallsProvider hostForeignCalls = (HotSpotHostForeignCallsProvider) hostProviders.getForeignCalls(); + assert VerifyOptionsPhase.checkOptions(hostProviders.getMetaAccess(), hostForeignCalls); + hostForeignCalls.initialize(hostProviders, config); // Install intrinsics. if (Intrinsify.getValue()) { @@ -191,17 +193,11 @@ public void run() { List<LoweringProvider> initializedLowerers = new ArrayList<>(); - List<ForeignCallsProvider> initializedForeignCalls = new ArrayList<>(); for (Map.Entry<?, HotSpotBackend> e : runtime.getBackends().entrySet()) { HotSpotBackend backend = e.getValue(); HotSpotProviders providers = backend.getProviders(); - HotSpotForeignCallsProvider foreignCalls = providers.getForeignCalls(); - if (!initializedForeignCalls.contains(foreignCalls)) { - initializedForeignCalls.add(foreignCalls); - foreignCalls.initialize(providers, config); - } HotSpotLoweringProvider lowerer = (HotSpotLoweringProvider) providers.getLowerer(); if (!initializedLowerers.contains(lowerer)) { initializedLowerers.add(lowerer);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProvider.java Thu Oct 24 21:19:08 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProvider.java Fri Oct 25 00:12:54 2013 +0200 @@ -24,15 +24,12 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; -import com.oracle.graal.hotspot.*; /** * HotSpot extension of {@link ForeignCallsProvider}. */ public interface HotSpotForeignCallsProvider extends ForeignCallsProvider { - void initialize(HotSpotProviders providers, HotSpotVMConfig config); - /** * Gets the registers that must be saved across a foreign call into the runtime. */