Mercurial > hg > truffle
comparison graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotHostBackend.java @ 19500:b828f1f74625
add graph builder plugins for Unsafe and Word
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 19 Feb 2015 11:22:44 +0100 |
parents | 33a783b15758 |
children | 7117697d11e1 |
comparison
equal
deleted
inserted
replaced
19499:787a3c7235ef | 19500:b828f1f74625 |
---|---|
31 import com.oracle.graal.debug.Debug.Scope; | 31 import com.oracle.graal.debug.Debug.Scope; |
32 import com.oracle.graal.hotspot.meta.*; | 32 import com.oracle.graal.hotspot.meta.*; |
33 import com.oracle.graal.hotspot.stubs.*; | 33 import com.oracle.graal.hotspot.stubs.*; |
34 import com.oracle.graal.java.*; | 34 import com.oracle.graal.java.*; |
35 import com.oracle.graal.nodes.spi.*; | 35 import com.oracle.graal.nodes.spi.*; |
36 import com.oracle.graal.replacements.*; | |
36 | 37 |
37 /** | 38 /** |
38 * Common functionality of HotSpot host backends. | 39 * Common functionality of HotSpot host backends. |
39 */ | 40 */ |
40 public abstract class HotSpotHostBackend extends HotSpotBackend { | 41 public abstract class HotSpotHostBackend extends HotSpotBackend { |
71 final HotSpotLoweringProvider lowerer = (HotSpotLoweringProvider) providers.getLowerer(); | 72 final HotSpotLoweringProvider lowerer = (HotSpotLoweringProvider) providers.getLowerer(); |
72 | 73 |
73 try (InitTimer st = timer("graphBuilderPlugins.initialize")) { | 74 try (InitTimer st = timer("graphBuilderPlugins.initialize")) { |
74 GraphBuilderPhase phase = (GraphBuilderPhase) providers.getSuites().getDefaultGraphBuilderSuite().findPhase(GraphBuilderPhase.class).previous(); | 75 GraphBuilderPhase phase = (GraphBuilderPhase) providers.getSuites().getDefaultGraphBuilderSuite().findPhase(GraphBuilderPhase.class).previous(); |
75 InvocationPlugins plugins = phase.getGraphBuilderConfig().getInvocationPlugins(); | 76 InvocationPlugins plugins = phase.getGraphBuilderConfig().getInvocationPlugins(); |
76 registerInvocationPlugins(providers.getMetaAccess(), plugins); | 77 registerInvocationPlugins(providers, plugins); |
77 } | 78 } |
78 | 79 |
79 try (InitTimer st = timer("foreignCalls.initialize")) { | 80 try (InitTimer st = timer("foreignCalls.initialize")) { |
80 foreignCalls.initialize(providers, config); | 81 foreignCalls.initialize(providers, config); |
81 } | 82 } |
103 throw Debug.handle(e); | 104 throw Debug.handle(e); |
104 } | 105 } |
105 } | 106 } |
106 } | 107 } |
107 | 108 |
108 protected void registerInvocationPlugins(MetaAccessProvider metaAccess, InvocationPlugins plugins) { | 109 protected void registerInvocationPlugins(HotSpotProviders providers, InvocationPlugins plugins) { |
109 StandardGraphBuilderPlugins.registerInvocationPlugins(metaAccess, plugins); | 110 StandardGraphBuilderPlugins.registerInvocationPlugins(providers.getMetaAccess(), plugins); |
110 HotSpotGraphBuilderPlugins.registerInvocationPlugins(metaAccess, plugins); | 111 HotSpotGraphBuilderPlugins.registerInvocationPlugins(providers, plugins); |
111 } | 112 } |
112 } | 113 } |