| Package | Description |
|---|---|
| org.classdump.luna.compiler |
Core compiler classes.
|
| org.classdump.luna.compiler.analysis |
Static analysis of Lua programs operating on the IR.
|
| org.classdump.luna.compiler.gen.asm |
Java bytecode generation using the ASM library.
|
| org.classdump.luna.compiler.ir |
The intermediate representation (IR) of Lua programs used by the compiler.
|
| org.classdump.luna.compiler.tf |
IR transformations.
|
| org.classdump.luna.compiler.util |
Compiler utility classes.
|
| Modifier and Type | Method and Description |
|---|---|
IRFunc |
Module.get(FunctionId id) |
IRFunc |
Module.main() |
IRFunc |
IRFunc.update(Code code) |
| Modifier and Type | Method and Description |
|---|---|
List<IRFunc> |
Module.fns() |
| Modifier and Type | Method and Description |
|---|---|
void |
ModuleBuilder.add(IRFunc fn) |
| Constructor and Description |
|---|
Module(List<IRFunc> fns) |
| Modifier and Type | Method and Description |
|---|---|
static SlotAllocInfo |
SlotAllocator.allocateSlots(IRFunc fn) |
static DependencyInfo |
DependencyAnalyser.analyse(IRFunc fn) |
static TypeInfo |
Typer.analyseTypes(IRFunc fn) |
static LivenessInfo |
LivenessAnalyser.computeLiveness(IRFunc fn) |
| Constructor and Description |
|---|
SlotAllocator(IRFunc fn) |
| Modifier and Type | Field and Description |
|---|---|
IRFunc |
ASMBytecodeEmitter.fn |
| Modifier and Type | Method and Description |
|---|---|
protected static org.classdump.luna.compiler.gen.asm.ASMBytecodeEmitter.NestedInstanceKind |
ASMBytecodeEmitter.functionKind(IRFunc fn) |
| Constructor and Description |
|---|
ASMBytecodeEmitter(IRFunc fn,
SlotAllocInfo slots,
TypeInfo types,
DependencyInfo deps,
CompilerSettings compilerSettings,
ClassNameTranslator classNameTranslator,
String sourceFile) |
| Modifier and Type | Method and Description |
|---|---|
void |
CodeVisitor.visit(IRFunc func) |
| Modifier and Type | Method and Description |
|---|---|
static IRFunc |
CPUAccounter.collectCPUAccounting(IRFunc fn) |
static IRFunc |
BranchInliner.inlineBranches(IRFunc fn,
TypeInfo typeInfo) |
static IRFunc |
CPUAccounter.insertCPUAccounting(IRFunc fn) |
static IRFunc |
CodeSimplifier.mergeBlocks(IRFunc fn) |
static IRFunc |
DeadCodePruner.pruneDeadCode(IRFunc fn,
TypeInfo types,
LivenessInfo liveness) |
static IRFunc |
CodeSimplifier.pruneUnreachableCode(IRFunc fn) |
static IRFunc |
ConstFolder.replaceConstOperations(IRFunc fn,
TypeInfo typeInfo) |
| Modifier and Type | Method and Description |
|---|---|
static IRFunc |
CPUAccounter.collectCPUAccounting(IRFunc fn) |
static IRFunc |
BranchInliner.inlineBranches(IRFunc fn,
TypeInfo typeInfo) |
static IRFunc |
CPUAccounter.insertCPUAccounting(IRFunc fn) |
static IRFunc |
CodeSimplifier.mergeBlocks(IRFunc fn) |
static IRFunc |
DeadCodePruner.pruneDeadCode(IRFunc fn,
TypeInfo types,
LivenessInfo liveness) |
static IRFunc |
CodeSimplifier.pruneUnreachableCode(IRFunc fn) |
static IRFunc |
ConstFolder.replaceConstOperations(IRFunc fn,
TypeInfo typeInfo) |
| Modifier and Type | Method and Description |
|---|---|
static void |
IRPrinter.printFunc(IRFunc fn,
PrintStream out) |
static void |
IRPrinter.printFunc(IRFunc fn,
PrintWriter writer) |
Copyright © 2016–2017. All rights reserved.