public class CGlobalDataFeature extends Object implements GraalFeature
Modifier and Type | Class and Description |
---|---|
static interface |
CGlobalDataFeature.SymbolConsumer |
org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess, org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess, org.graalvm.nativeimage.hosted.Feature.AfterImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.AfterRegistrationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.BeforeCompilationAccess, org.graalvm.nativeimage.hosted.Feature.BeforeImageWriteAccess, org.graalvm.nativeimage.hosted.Feature.BeforeUniverseBuildingAccess, org.graalvm.nativeimage.hosted.Feature.CompilationAccess, org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess, org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess, org.graalvm.nativeimage.hosted.Feature.FeatureAccess, org.graalvm.nativeimage.hosted.Feature.IsInConfigurationAccess, org.graalvm.nativeimage.hosted.Feature.OnAnalysisExitAccess, org.graalvm.nativeimage.hosted.Feature.QueryReachabilityAccess
Constructor and Description |
---|
CGlobalDataFeature() |
Modifier and Type | Method and Description |
---|---|
void |
afterHeapLayout(org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess access) |
void |
duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess access) |
Set<String> |
getGlobalHiddenSymbols() |
int |
getSize() |
CGlobalDataInfo |
registerAsAccessedOrGet(CGlobalData<?> obj) |
void |
registerInvocationPlugins(org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins plugins,
ParsingReason reason)
Called to register Graal invocation plugins.
|
void |
registerWithGlobalHiddenSymbol(CGlobalData<?> obj)
Same as
CGlobalDataFeature.registerWithGlobalSymbol(CGlobalData) but hides the provided object so that
it will not show up in the dynamic symbol table of the final image. |
void |
registerWithGlobalSymbol(CGlobalData<?> obj)
Makes the provided object available in the binary as a global symbol
Warning: Global symbols are affected by linking and loading rules that are OS dependent.
|
static CGlobalDataFeature |
singleton() |
void |
writeData(RelocatableBuffer buffer,
CGlobalDataFeature.SymbolConsumer createSymbol,
CGlobalDataFeature.SymbolConsumer createSymbolReference) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
registerCodeObserver, registerForeignCalls, registerGraalPhases, registerGraphBuilderPlugins, registerLowerings
public static CGlobalDataFeature singleton()
public void duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess access)
duringSetup
in interface org.graalvm.nativeimage.hosted.Feature
public void afterHeapLayout(org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess access)
afterHeapLayout
in interface org.graalvm.nativeimage.hosted.Feature
public void registerInvocationPlugins(org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins plugins, ParsingReason reason)
GraalFeature
registerInvocationPlugins
in interface GraalFeature
providers
- Providers that the lowering can use.snippetReflection
- Snippet reflection providers.plugins
- Contains the invocation plugins to add to.reason
- The parsing phase that the plugins are registered forpublic CGlobalDataInfo registerAsAccessedOrGet(CGlobalData<?> obj)
public void registerWithGlobalSymbol(CGlobalData<?> obj)
public void registerWithGlobalHiddenSymbol(CGlobalData<?> obj)
CGlobalDataFeature.registerWithGlobalSymbol(CGlobalData)
but hides the provided object so that
it will not show up in the dynamic symbol table of the final image.public int getSize()
public void writeData(RelocatableBuffer buffer, CGlobalDataFeature.SymbolConsumer createSymbol, CGlobalDataFeature.SymbolConsumer createSymbolReference)