Package org.qbicc.plugin.opt
Class LocalMemoryTrackingBasicBlockBuilder
java.lang.Object
org.qbicc.graph.DelegatingBasicBlockBuilder
org.qbicc.plugin.opt.LocalMemoryTrackingBasicBlockBuilder
- All Implemented Interfaces:
Locatable,ProgramLocatable,BasicBlockBuilder
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.qbicc.graph.BasicBlockBuilder
BasicBlockBuilder.FactoryContextNested classes/interfaces inherited from interface org.qbicc.context.ProgramLocatable
ProgramLocatable.Frozen -
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) callNoReturn(Value targetPtr, Value receiver, List<Value> arguments) cmpAndSwap(Value pointer, Value expect, Value update, ReadAccessMode readMode, WriteAccessMode writeMode, CmpAndSwap.Strength strength) fence(GlobalAccessMode fenceType) invoke(Value targetPtr, Value receiver, List<Value> arguments, BlockLabel catchLabel, BlockLabel resumeLabel, Map<Slot, Value> targetArguments) invokeNoReturn(Value targetPtr, Value receiver, List<Value> arguments, BlockLabel catchLabel, Map<Slot, Value> targetArguments) load(Value pointer, ReadAccessMode accessMode) monitorEnter(Value obj) monitorExit(Value obj) readModifyWrite(Value pointer, ReadModifyWrite.Op op, Value update, ReadAccessMode readMode, WriteAccessMode writeMode) store(Value pointer, Value value, WriteAccessMode accessMode) Methods inherited from class org.qbicc.graph.DelegatingBasicBlockBuilder
add, addParam, and, auto, bitCast, bitReverse, bytecodeIndex, byteOffsetPointer, byteSwap, callNoSideEffects, callSite, checkcast, checkcast, classOf, cmp, cmpG, cmpL, complement, countLeadingZeros, countTrailingZeros, currentThread, declareDebugAddress, decodeReference, deref, divide, divisorCheck, element, elementOf, encodeReference, enterSafePoint, exitSafePoint, extend, extractElement, extractInstanceField, extractInstanceField, extractMember, finish, fpToInt, getBlockEntry, getDelegate, getEntryLabel, getFirstBlock, getFirstBuilder, getLocation, getParam, getRootElement, getTerminatedBlock, goto_, if_, initCheck, initializeClass, insertElement, insertMember, instanceFieldOf, instanceFieldOf, instanceOf, instanceOf, intToFp, invokeDynamic, isEq, isGe, isGt, isLe, isLt, isNe, lineNumber, loadLength, loadTypeId, lookupInterfaceMethod, lookupInterfaceMethod, lookupVirtualMethod, lookupVirtualMethod, max, memberOf, memberOfUnion, min, multiNewArray, multiNewArray, multiply, negate, new_, new_, newArray, newArray, newReferenceArray, nop, notNull, nullCheck, offsetOfField, offsetPointer, or, pointerDifference, pollSafePoint, populationCount, reachable, receiverBound, remainder, resolveConstructor, resolveInstanceMethod, resolveStaticField, resolveStaticMethod, ret, return_, rol, ror, select, setBytecodeIndex, setCallSite, setCurrentElement, setDebugValue, setFirstBuilder, setLineNumber, shl, shr, stackAllocate, sub, switch_, threadBound, throw_, truncate, unreachable, vaArg, 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, call, callNoReturn, callNoSideEffects, classOf, classOf, classOf, classOf, classOf, classOf, classOf, classOf, decodeReference, emptyVoid, encodeReference, getContext, getCurrentClassContext, getLiteralFactory, getTypeSystem, goto_, instanceOf, invoke, invokeNoReturn, load, return_, store, tailCallMethods inherited from interface org.qbicc.context.ProgramLocatable
enclosingType, freeze, sourceFileName, withUnderlyingCallSite
-
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(Value pointer, ReadModifyWrite.Op op, Value update, ReadAccessMode readMode, WriteAccessMode writeMode) - Specified by:
readModifyWritein interfaceBasicBlockBuilder- Overrides:
readModifyWritein classDelegatingBasicBlockBuilder
-
cmpAndSwap
public Value cmpAndSwap(Value pointer, 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(Value targetPtr, Value receiver, 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(Value targetPtr, Value receiver, List<Value> arguments, BlockLabel catchLabel, BlockLabel resumeLabel, Map<Slot, Value> targetArguments) - Specified by:
invokein interfaceBasicBlockBuilder- Overrides:
invokein classDelegatingBasicBlockBuilder
-