File tree Expand file tree Collapse file tree 9 files changed +36
-0
lines changed
web-image/src/com.oracle.svm.webimage/src/com/oracle/svm/webimage/hightiercodegen Expand file tree Collapse file tree 9 files changed +36
-0
lines changed Original file line number Diff line number Diff line change 3232import java .nio .file .Path ;
3333import java .util .List ;
3434
35+ import org .graalvm .nativeimage .Platform ;
36+ import org .graalvm .nativeimage .Platforms ;
37+
3538import jdk .graal .compiler .core .common .calc .CanonicalCondition ;
3639import jdk .graal .compiler .nodes .ParameterNode ;
3740import jdk .vm .ci .common .JVMCIError ;
4245/**
4346 * Utility class that provides an abstraction layer for emitting code.
4447 */
48+ @ Platforms (Platform .HOSTED_ONLY .class )
4549public abstract class CodeBuffer {
4650
4751 /**
Original file line number Diff line number Diff line change 2828import java .lang .reflect .Method ;
2929import java .util .List ;
3030
31+ import org .graalvm .nativeimage .Platform ;
32+ import org .graalvm .nativeimage .Platforms ;
33+
3134import com .oracle .svm .webimage .hightiercodegen .variables .ResolvedVar ;
3235import com .oracle .svm .webimage .hightiercodegen .variables .VariableAllocation ;
3336import com .oracle .svm .webimage .hightiercodegen .variables .VariableMap ;
5053 * abstraction (e.g. {@link #genArrayLoad}, {@link #genFunctionCall}) compared to
5154 * {@link CodeBuffer}, which is mainly concerned with emitting individual tokens.
5255 */
56+ @ Platforms (Platform .HOSTED_ONLY .class )
5357public abstract class CodeGenTool {
5458
5559 protected final CodeBuffer codeBuffer ;
Original file line number Diff line number Diff line change 3232import java .util .Objects ;
3333import java .util .function .Consumer ;
3434
35+ import org .graalvm .nativeimage .Platform ;
36+ import org .graalvm .nativeimage .Platforms ;
37+
3538import com .oracle .svm .webimage .hightiercodegen .variables .ResolvedVar ;
3639
3740import jdk .graal .compiler .nodes .ValueNode ;
4346 * This class holds utility methods to create instances of {@link IEmitter} to generate various code
4447 * constructs, such as identifiers and literals of various types.
4548 */
49+ @ Platforms (Platform .HOSTED_ONLY .class )
4650public class Emitter implements IEmitter {
4751 private static final Emitter NULL = new Emitter (CodeGenTool ::genNull );
4852
Original file line number Diff line number Diff line change 2525
2626package com .oracle .svm .webimage .hightiercodegen ;
2727
28+ import org .graalvm .nativeimage .Platform ;
29+ import org .graalvm .nativeimage .Platforms ;
30+
2831/**
2932 * Abstract interface to facilitate lowering of various objects.
3033 *
3134 * Methods that want to accept multiple different types for lowering, especially as part of a list
3235 * of arguments, can accept {@link IEmitter} instead of having to create many overloaded methods.
3336 */
37+ @ Platforms (Platform .HOSTED_ONLY .class )
3438public interface IEmitter {
3539 void lower (CodeGenTool codeGenTool );
3640}
Original file line number Diff line number Diff line change 2424 */
2525package com .oracle .svm .webimage .hightiercodegen ;
2626
27+ import org .graalvm .nativeimage .Platform ;
28+ import org .graalvm .nativeimage .Platforms ;
29+
2730/**
2831 * This class represents keywords of a high level programming language.
2932 */
33+ @ Platforms (Platform .HOSTED_ONLY .class )
3034public abstract class Keyword {
3135
3236 private final String symbol ;
Original file line number Diff line number Diff line change 2424 */
2525package com .oracle .svm .webimage .hightiercodegen ;
2626
27+ import org .graalvm .nativeimage .Platform ;
28+ import org .graalvm .nativeimage .Platforms ;
29+
2730import com .oracle .svm .webimage .hightiercodegen .variables .ResolvedVar ;
2831
2932import jdk .graal .compiler .graph .GraalGraphError ;
109112/**
110113 * This class is responsible for generating code for individual {@link Node}s in the graph.
111114 */
115+ @ Platforms (Platform .HOSTED_ONLY .class )
112116public abstract class NodeLowerer {
113117
114118 protected final CodeGenTool codeGenTool ;
Original file line number Diff line number Diff line change 2424 */
2525package com .oracle .svm .webimage .hightiercodegen .variables ;
2626
27+ import org .graalvm .nativeimage .Platform ;
28+ import org .graalvm .nativeimage .Platforms ;
29+
2730import jdk .graal .compiler .graph .Node ;
2831import jdk .vm .ci .common .JVMCIError ;
2932
33+ @ Platforms (Platform .HOSTED_ONLY .class )
3034public final class ResolvedVar {
3135 private final Node node ;
3236 private boolean unborn ;
Original file line number Diff line number Diff line change 2929import java .util .Collection ;
3030import java .util .List ;
3131
32+ import org .graalvm .nativeimage .Platform ;
33+ import org .graalvm .nativeimage .Platforms ;
34+
3235import com .oracle .svm .webimage .hightiercodegen .CodeGenTool ;
3336import com .oracle .svm .webimage .hightiercodegen .NodeLowerer ;
3437
5861 * Whether to create a variable or to inline is tightly coupled to how code is generated for a node,
5962 * especially when it comes to correctness.
6063 */
64+ @ Platforms (Platform .HOSTED_ONLY .class )
6165public abstract class VariableAllocation {
6266
6367 /**
Original file line number Diff line number Diff line change 2626
2727import java .util .HashMap ;
2828
29+ import org .graalvm .nativeimage .Platform ;
30+ import org .graalvm .nativeimage .Platforms ;
31+
2932import jdk .graal .compiler .nodes .ValueNode ;
3033
3134/**
3235 * Storing variable allocation result for a method.
3336 */
37+ @ Platforms (Platform .HOSTED_ONLY .class )
3438public final class VariableMap {
3539 public static final String LOCAL_PREFIX = "l" ;
3640
You can’t perform that action at this time.
0 commit comments