| Package | Description |
|---|---|
| de.mirkosertic.bytecoder.backend.js | |
| de.mirkosertic.bytecoder.backend.opencl | |
| de.mirkosertic.bytecoder.backend.wasm | |
| de.mirkosertic.bytecoder.relooper |
| Modifier and Type | Method and Description |
|---|---|
void |
JSSSAWriter.printRelooped(Relooper.Block aBlock) |
| Modifier and Type | Method and Description |
|---|---|
void |
OpenCLWriter.printReloopedInline(BytecodeMethod aMethod,
Program aProgram,
Relooper.Block aBlock,
AbstractAllocator registerAllocator) |
void |
OpenCLWriter.printReloopedKernel(Relooper.Block aBlock,
AbstractAllocator registerAllocator) |
| Modifier and Type | Method and Description |
|---|---|
void |
WASMSSAASTWriter.writeRelooped(Relooper.Block aBlock) |
| Modifier and Type | Class and Description |
|---|---|
static class |
Relooper.IFThenElseBlock
Block for high level if/then/else language constructs.
|
static class |
Relooper.LoopBlock
Loop: A block that represents a basic loop, comprised of
two internal sub-blocks:
Inner: A block that will appear inside the loop, i.e.,
when execution reaches the end of that block, flow
will return to the beginning.
|
static class |
Relooper.MultipleBlock
Multiple: A block that represents a divergence into several possible branches,
that eventually rejoin.
|
static class |
Relooper.SimpleBlock
Simple block: A block with
One Internal label, and
a Next block, which the internal label branches to.
|
static class |
Relooper.TryBlock
A Try block guards its inner block for exceptions.
|
| Modifier and Type | Method and Description |
|---|---|
Relooper.Block |
Relooper.IFThenElseBlock.getFalseBlock() |
Relooper.Block |
Relooper.TryBlock.getFinallyBlock() |
Relooper.Block |
Relooper.TryBlock.CatchBlock.getHandler() |
Relooper.Block |
Relooper.IFThenElseBlock.getTrueBlock() |
Relooper.Block |
Relooper.TryBlock.inner() |
Relooper.Block |
Relooper.LoopBlock.inner() |
abstract Relooper.Block |
Relooper.Block.next() |
Relooper.Block |
Relooper.SimpleBlock.next() |
Relooper.Block |
Relooper.IFThenElseBlock.next() |
Relooper.Block |
Relooper.TryBlock.next() |
Relooper.Block |
Relooper.LoopBlock.next() |
Relooper.Block |
Relooper.MultipleBlock.next() |
Relooper.Block |
Relooper.reloop(ControlFlowGraph aGraph) |
| Modifier and Type | Method and Description |
|---|---|
Set<Relooper.Block> |
Relooper.MultipleBlock.handlers() |
| Constructor and Description |
|---|
CatchBlock(Set<BytecodeUtf8Constant> caughtExceptions,
Relooper.Block handler) |
IFThenElseBlock(ExpressionList aPrelude,
Set<RegionNode> aEntries,
Value condition,
Relooper.Block trueBlock,
Relooper.Block falseBlock,
Relooper.Block nextBlock) |
LoopBlock(Set<RegionNode> aEntries,
Relooper.Block aInner,
Relooper.Block aNext) |
MultipleBlock(Set<RegionNode> aEntries,
Set<Relooper.Block> aHandlers,
Relooper.Block aNext) |
SimpleBlock(Set<RegionNode> aEntries,
RegionNode aInternalLabel,
Relooper.Block aNext) |
TryBlock(Set<RegionNode> aEntries,
Relooper.Block inner,
Relooper.Block next,
List<Relooper.TryBlock.CatchBlock> catchBlocks,
Relooper.Block finallyBlock) |
| Constructor and Description |
|---|
MultipleBlock(Set<RegionNode> aEntries,
Set<Relooper.Block> aHandlers,
Relooper.Block aNext) |
Copyright © 2020 Systemprogrammierung Mirko Sertic. All rights reserved.