Module org.kink_lang.kink
Class FastLvarAccessGenerator
java.lang.Object
org.kink_lang.kink.internal.compile.javaclassir.FastLvarAccessGenerator
- All Implemented Interfaces:
LvarAccessGenerator
Generates insns of loval vars in a ssa fun.
-
Constructor Summary
ConstructorsConstructorDescriptionFastLvarAccessGenerator(AllocationSet allocationSet, KeyStrSupplier keySup, TraceAccumulator traceAccum) Constructs a generator. -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns whetherlvaris unused.Generates insns to load a local var, checking absence.loadLvarAllowNull(LocalVar lvar) Generates insns to load a local var, not checking absence.Generates insns to pass the specified arg.Generates insns to pass the recv.Generates insns to store a local var.
-
Constructor Details
-
FastLvarAccessGenerator
public FastLvarAccessGenerator(AllocationSet allocationSet, KeyStrSupplier keySup, TraceAccumulator traceAccum) Constructs a generator.- Parameters:
allocationSet- the allocation analysis of local vars.keySup- the supplier of key strs.traceAccum- trace accumulator.
-
-
Method Details
-
loadLvar
Description copied from interface:LvarAccessGeneratorGenerates insns to load a local var, checking absence.- Specified by:
loadLvarin interfaceLvarAccessGenerator- Parameters:
lvar- the local var.loc- the location of the dereference.- Returns:
- insns to load a local var.
-
loadLvarAllowNull
Description copied from interface:LvarAccessGeneratorGenerates insns to load a local var, not checking absence.- Specified by:
loadLvarAllowNullin interfaceLvarAccessGenerator- Parameters:
lvar- the local var.- Returns:
- insns to load a local var.
-
storeLvar
Description copied from interface:LvarAccessGeneratorGenerates insns to store a local var.- Specified by:
storeLvarin interfaceLvarAccessGenerator- Parameters:
lvar- the local var.- Returns:
- insns to store a local var.
-
passRecv
Description copied from interface:LvarAccessGeneratorGenerates insns to pass the recv.- Specified by:
passRecvin interfaceLvarAccessGenerator- Parameters:
lvar- the local var.- Returns:
- insns to pass recv.
-
passArg
Description copied from interface:LvarAccessGeneratorGenerates insns to pass the specified arg.- Specified by:
passArgin interfaceLvarAccessGenerator- Parameters:
lvar- the local var.argIndex- the index of the arg.- Returns:
- insns to pass arg.
-
isUnused
Description copied from interface:LvarAccessGeneratorReturns whetherlvaris unused.- Specified by:
isUnusedin interfaceLvarAccessGenerator- Parameters:
lvar- local var to test.- Returns:
- whether lvar is unused.
-