Package org.qbicc.plugin.opt
Class LocalMemoryTrackingBasicBlockBuilder
java.lang.Object
org.qbicc.graph.DelegatingBasicBlockBuilder
org.qbicc.plugin.opt.LocalMemoryTrackingBasicBlockBuilder
- All Implemented Interfaces:
Locatable,BasicBlockBuilder,ValueHandleVisitor<AccessMode,Value>
public class LocalMemoryTrackingBasicBlockBuilder
extends DelegatingBasicBlockBuilder
implements ValueHandleVisitor<AccessMode,Value>
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.qbicc.graph.BasicBlockBuilder
BasicBlockBuilder.FactoryContextNested classes/interfaces inherited from interface org.qbicc.graph.ValueHandleVisitor
ValueHandleVisitor.Delegating<T extends Object,R extends Object> -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionLocalMemoryTrackingBasicBlockBuilder(BasicBlockBuilder.FactoryContext ctxt, BasicBlockBuilder delegate) -
Method Summary
Modifier and TypeMethodDescriptionbegin(BlockLabel blockLabel) <T> BasicBlockbegin(BlockLabel blockLabel, T arg, BiConsumer<T, BasicBlockBuilder> maker) call(ValueHandle target, List<Value> arguments) callNoReturn(ValueHandle target, List<Value> arguments) cmpAndSwap(ValueHandle target, Value expect, Value update, ReadAccessMode readMode, WriteAccessMode writeMode, CmpAndSwap.Strength strength) fence(GlobalAccessMode fenceType) invoke(ValueHandle target, List<Value> arguments, BlockLabel catchLabel, BlockLabel resumeLabel, Map<Slot, Value> targetArguments) invokeNoReturn(ValueHandle target, List<Value> arguments, BlockLabel catchLabel, Map<Slot, Value> targetArguments) load(ValueHandle handle, ReadAccessMode accessMode) monitorEnter(Value obj) monitorExit(Value obj) readModifyWrite(ValueHandle target, ReadModifyWrite.Op op, Value update, ReadAccessMode readMode, WriteAccessMode writeMode) store(ValueHandle handle, Value value, WriteAccessMode accessMode) tailCall(ValueHandle target, List<Value> arguments) visit(AccessMode param, ElementOf node) visit(AccessMode param, MemberOf node) visitUnknown(AccessMode param, ValueHandle node) Methods inherited from class org.qbicc.graph.DelegatingBasicBlockBuilder
add, addParam, addressOf, and, asm, bitCast, bitReverse, byteSwap, callNoSideEffects, checkcast, checkcast, classOf, cmp, cmpG, cmpL, complement, constructorOf, constructorOf, countLeadingZeros, countTrailingZeros, currentThread, declareDebugAddress, decodeReference, divide, elementOf, exactMethodOf, exactMethodOf, extend, extractElement, extractInstanceField, extractInstanceField, extractMember, finish, functionOf, getBlockEntry, getBytecodeIndex, getCallSite, getCurrentElement, getDelegate, getEntryLabel, getFirstBlock, getFirstBuilder, getLocation, getParam, getRootElement, getTerminatedBlock, globalVariable, goto_, if_, initCheck, insertElement, insertMember, instanceFieldOf, instanceFieldOf, instanceOf, instanceOf, interfaceMethodOf, interfaceMethodOf, isEq, isGe, isGt, isLe, isLt, isNe, lengthOf, localVariable, max, memberOf, min, multiNewArray, multiNewArray, multiply, negate, new_, new_, newArray, newArray, newReferenceArray, nop, notNull, offsetOfField, or, pointerHandle, populationCount, reachable, referenceTo, remainder, ret, return_, rol, ror, safePoint, select, selectMember, setBytecodeIndex, setCallSite, setCurrentElement, setDebugValue, setFirstBuilder, setLineNumber, shl, shr, stackAllocate, staticField, staticField, staticMethod, staticMethod, sub, switch_, throw_, truncate, unreachable, unsafeHandle, vaArg, valueConvert, virtualMethodOf, virtualMethodOf, xorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.qbicc.graph.BasicBlockBuilder
addParam, begin, classOf, classOf, classOf, classOf, classOf, classOf, classOf, classOf, constructorOf, decodeReference, emptyVoid, exactMethodOf, getContext, getCurrentClassContext, getLiteralFactory, getTypeSystem, goto_, instanceOf, interfaceMethodOf, load, pointerHandle, referenceHandle, return_, staticMethod, store, virtualMethodOf
-
Constructor Details
-
LocalMemoryTrackingBasicBlockBuilder
public LocalMemoryTrackingBasicBlockBuilder(BasicBlockBuilder.FactoryContext ctxt, BasicBlockBuilder delegate)
-
-
Method Details
-
begin
- Specified by:
beginin interfaceBasicBlockBuilder- Overrides:
beginin classDelegatingBasicBlockBuilder
-
begin
- Specified by:
beginin interfaceBasicBlockBuilder- Overrides:
beginin classDelegatingBasicBlockBuilder
-
load
- Specified by:
loadin interfaceBasicBlockBuilder- Overrides:
loadin classDelegatingBasicBlockBuilder
-
store
- Specified by:
storein interfaceBasicBlockBuilder- Overrides:
storein classDelegatingBasicBlockBuilder
-
readModifyWrite
public Value readModifyWrite(ValueHandle target, ReadModifyWrite.Op op, Value update, ReadAccessMode readMode, WriteAccessMode writeMode) - Specified by:
readModifyWritein interfaceBasicBlockBuilder- Overrides:
readModifyWritein classDelegatingBasicBlockBuilder
-
cmpAndSwap
public Value cmpAndSwap(ValueHandle target, Value expect, Value update, ReadAccessMode readMode, WriteAccessMode writeMode, CmpAndSwap.Strength strength) - Specified by:
cmpAndSwapin interfaceBasicBlockBuilder- Overrides:
cmpAndSwapin classDelegatingBasicBlockBuilder
-
fence
- Specified by:
fencein interfaceBasicBlockBuilder- Overrides:
fencein classDelegatingBasicBlockBuilder
-
monitorEnter
- Specified by:
monitorEnterin interfaceBasicBlockBuilder- Overrides:
monitorEnterin classDelegatingBasicBlockBuilder
-
monitorExit
- Specified by:
monitorExitin interfaceBasicBlockBuilder- Overrides:
monitorExitin classDelegatingBasicBlockBuilder
-
call
- Specified by:
callin interfaceBasicBlockBuilder- Overrides:
callin classDelegatingBasicBlockBuilder
-
callNoReturn
- Specified by:
callNoReturnin interfaceBasicBlockBuilder- Overrides:
callNoReturnin classDelegatingBasicBlockBuilder
-
invokeNoReturn
public BasicBlock invokeNoReturn(ValueHandle target, List<Value> arguments, BlockLabel catchLabel, Map<Slot, Value> targetArguments) - Specified by:
invokeNoReturnin interfaceBasicBlockBuilder- Overrides:
invokeNoReturnin classDelegatingBasicBlockBuilder
-
tailCall
- Specified by:
tailCallin interfaceBasicBlockBuilder- Overrides:
tailCallin classDelegatingBasicBlockBuilder
-
invoke
public Value invoke(ValueHandle target, List<Value> arguments, BlockLabel catchLabel, BlockLabel resumeLabel, Map<Slot, Value> targetArguments) - Specified by:
invokein interfaceBasicBlockBuilder- Overrides:
invokein classDelegatingBasicBlockBuilder
-
visitUnknown
- Specified by:
visitUnknownin interfaceValueHandleVisitor<AccessMode,Value>
-
visit
- Specified by:
visitin interfaceValueHandleVisitor<AccessMode,Value>
-
visit
- Specified by:
visitin interfaceValueHandleVisitor<AccessMode,Value>
-