Class InvalidCastsCleanupBasicBlockBuilder
java.lang.Object
org.qbicc.graph.DelegatingBasicBlockBuilder
org.qbicc.plugin.instanceofcheckcast.InvalidCastsCleanupBasicBlockBuilder
- All Implemented Interfaces:
Locatable,ProgramLocatable,BasicBlockBuilder
A basic block builder that cleans up and trivializes invalid casts and instance checks, usable in all phases.
-
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
ConstructorsConstructorDescriptionInvalidCastsCleanupBasicBlockBuilder(BasicBlockBuilder.FactoryContext ctxt, BasicBlockBuilder delegate) -
Method Summary
Modifier and TypeMethodDescriptioncheckcast(Value value, Value toType, Value toDimensions, CheckCast.CastType kind, ObjectType expectedType) instanceOf(Value input, ObjectType expectedType, int expectedDimensions) Methods inherited from class org.qbicc.graph.DelegatingBasicBlockBuilder
add, addParam, and, auto, begin, begin, bitCast, bitReverse, bytecodeIndex, byteOffsetPointer, byteSwap, call, callNoReturn, callNoSideEffects, callSite, checkcast, classOf, cmp, cmpAndSwap, cmpG, cmpL, complement, countLeadingZeros, countTrailingZeros, currentThread, declareDebugAddress, decodeReference, deref, divide, divisorCheck, element, elementOf, encodeReference, enterSafePoint, exitSafePoint, extend, extractElement, extractInstanceField, extractInstanceField, extractMember, fence, finish, fpToInt, getBlockEntry, getDelegate, getEntryLabel, getFirstBlock, getFirstBuilder, getLocation, getParam, getRootElement, getTerminatedBlock, goto_, if_, initCheck, initializeClass, insertElement, insertMember, instanceFieldOf, instanceFieldOf, instanceOf, intToFp, invoke, invokeDynamic, invokeNoReturn, isEq, isGe, isGt, isLe, isLt, isNe, lineNumber, load, loadLength, loadTypeId, lookupInterfaceMethod, lookupInterfaceMethod, lookupVirtualMethod, lookupVirtualMethod, max, memberOf, memberOfUnion, min, monitorEnter, monitorExit, multiNewArray, multiNewArray, multiply, negate, new_, new_, newArray, newArray, newReferenceArray, nop, notNull, nullCheck, offsetOfField, offsetPointer, or, pointerDifference, pollSafePoint, populationCount, reachable, readModifyWrite, receiverBound, remainder, resolveConstructor, resolveInstanceMethod, resolveStaticField, resolveStaticMethod, ret, return_, rol, ror, select, setBytecodeIndex, setCallSite, setCurrentElement, setDebugValue, setFirstBuilder, setLineNumber, shl, shr, split, stackAllocate, store, sub, switch_, tailCall, 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
-
InvalidCastsCleanupBasicBlockBuilder
public InvalidCastsCleanupBasicBlockBuilder(BasicBlockBuilder.FactoryContext ctxt, BasicBlockBuilder delegate)
-
-
Method Details
-
instanceOf
- Specified by:
instanceOfin interfaceBasicBlockBuilder- Overrides:
instanceOfin classDelegatingBasicBlockBuilder
-
checkcast
public Value checkcast(Value value, Value toType, Value toDimensions, CheckCast.CastType kind, ObjectType expectedType) - Specified by:
checkcastin interfaceBasicBlockBuilder- Overrides:
checkcastin classDelegatingBasicBlockBuilder
-