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 }