Class InstanceOfCheckCastBasicBlockBuilder
java.lang.Object
org.qbicc.graph.DelegatingBasicBlockBuilder
org.qbicc.plugin.instanceofcheckcast.InstanceOfCheckCastBasicBlockBuilder
- All Implemented Interfaces:
Locatable,ProgramLocatable,BasicBlockBuilder
A BasicBlockBuilder which replaces instanceof/checkcast operations with
either inline code sequences that implement common cases or a call to
the out-of-line VMHelper routine that provides a full implementation.
-
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
ConstructorsConstructorDescriptionInstanceOfCheckCastBasicBlockBuilder(BasicBlockBuilder.FactoryContext ctxt, BasicBlockBuilder delegate) -
Method Summary
Modifier and TypeMethodDescriptioncheckcast(Value input, 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, 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
-
InstanceOfCheckCastBasicBlockBuilder
public InstanceOfCheckCastBasicBlockBuilder(BasicBlockBuilder.FactoryContext ctxt, BasicBlockBuilder delegate)
-
-
Method Details
-
checkcast
public Value checkcast(Value input, Value toType, Value toDimensions, CheckCast.CastType kind, ObjectType expectedType) - Specified by:
checkcastin interfaceBasicBlockBuilder- Overrides:
checkcastin classDelegatingBasicBlockBuilder
-
instanceOf
- Specified by:
instanceOfin interfaceBasicBlockBuilder- Overrides:
instanceOfin classDelegatingBasicBlockBuilder
-
classOf
- Specified by:
classOfin interfaceBasicBlockBuilder- Overrides:
classOfin classDelegatingBasicBlockBuilder
-