Package org.qbicc.plugin.opt
Class FinalFieldLoadOptimizer
java.lang.Object
org.qbicc.graph.DelegatingBasicBlockBuilder
org.qbicc.plugin.opt.FinalFieldLoadOptimizer
- All Implemented Interfaces:
Locatable,BasicBlockBuilder
This optimization is run during the ANALYZE phase and replaces loads
of reallyFinal fields with their constant values using the build-time
heap constructed by the interpreter during the ADD phase.
It optimizes static field and instance fields on ObjectLiterals.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.qbicc.graph.BasicBlockBuilder
BasicBlockBuilder.FactoryContext -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionFinalFieldLoadOptimizer(BasicBlockBuilder.FactoryContext ctxt, BasicBlockBuilder delegate) -
Method Summary
Methods inherited from class org.qbicc.graph.DelegatingBasicBlockBuilder
add, addParam, and, auto, begin, begin, bitCast, bitReverse, byteOffsetPointer, byteSwap, call, callNoReturn, callNoSideEffects, checkcast, checkcast, classOf, cmp, cmpAndSwap, cmpG, cmpL, complement, countLeadingZeros, countTrailingZeros, currentThread, declareDebugAddress, decodeReference, deref, divide, divisorCheck, elementOf, extend, extractElement, extractInstanceField, extractInstanceField, extractMember, fence, finish, getBlockEntry, getBytecodeIndex, getCallSite, getCurrentElement, getDelegate, getEntryLabel, getFirstBlock, getFirstBuilder, getLocation, getParam, getRootElement, getTerminatedBlock, goto_, if_, initCheck, initializeClass, insertElement, insertMember, instanceFieldOf, instanceFieldOf, instanceOf, instanceOf, invoke, invokeNoReturn, isEq, isGe, isGt, isLe, isLt, isNe, loadLength, loadTypeId, lookupInterfaceMethod, lookupInterfaceMethod, lookupVirtualMethod, lookupVirtualMethod, max, memberOf, min, monitorEnter, monitorExit, multiNewArray, multiNewArray, multiply, negate, new_, new_, newArray, newArray, newReferenceArray, nop, notNull, nullCheck, offsetOfField, offsetPointer, or, pointerDifference, populationCount, reachable, readModifyWrite, remainder, resolveConstructor, resolveInstanceMethod, resolveStaticField, resolveStaticMethod, ret, return_, rol, ror, safePoint, select, setBytecodeIndex, setCallSite, setCurrentElement, setDebugValue, setFirstBuilder, setLineNumber, shl, shr, stackAllocate, store, sub, switch_, tailCall, throw_, truncate, unreachable, vaArg, valueConvert, 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, getContext, getCurrentClassContext, getLiteralFactory, getTypeSystem, goto_, instanceOf, invoke, invokeNoReturn, load, return_, store, tailCall
-
Constructor Details
-
FinalFieldLoadOptimizer
-
-
Method Details
-
load
- Specified by:
loadin interfaceBasicBlockBuilder- Overrides:
loadin classDelegatingBasicBlockBuilder
-