private void loadInstanceField(XField instanceField, Instruction obj) {
        if (RLE_DEBUG) {
            System.out.println("[loadInstanceField for field " + instanceField + " in instruction " + handle);
        }

        ValueNumberFrame frame = getFrame();

        try {
            ValueNumber reference = frame.popValue();

            AvailableLoad availableLoad = new AvailableLoad(reference, instanceField);
            if (RLE_DEBUG) {
                System.out.println("[getfield of " + availableLoad + "]");
            }
            ValueNumber[] loadedValue = frame.getAvailableLoad(availableLoad);

            if (loadedValue == null) {
                // Get (or create) the cached result for this instruction
                ValueNumber[] inputValueList = new ValueNumber[] { reference };
                loadedValue = getOutputValues(inputValueList, getNumWordsProduced(obj));

                // Make the load available
                frame.addAvailableLoad(availableLoad, loadedValue);
                if (RLE_DEBUG) {
                    System.out.println("[Making load available " + availableLoad + " <- " + vlts(loadedValue) + "]");
                }
            } else {
                // Found an available load!
                if (RLE_DEBUG) {
                    System.out.println("[Found available load " + availableLoad + " <- " + vlts(loadedValue) + "]");
                }
            }

            pushOutputValues(loadedValue);

            if (VERIFY_INTEGRITY) {
                checkConsumedAndProducedValues(obj, new ValueNumber[] { reference }, loadedValue);
            }
        } catch (DataflowAnalysisException e) {
            throw new InvalidBytecodeException("Error loading from instance field", e);
        }
    }
private void loadInstanceField ( XField instanceField , Instruction obj ) { if ( RLE_DEBUG ) { System . out . println ( "[loadInstanceField for field " + instanceField + " in instruction " + handle ) ; } ValueNumberFrame frame = getFrame ( ) ; try { ValueNumber reference = frame . popValue ( ) ; AvailableLoad availableLoad = new AvailableLoad ( reference , instanceField ) ; if ( RLE_DEBUG ) { System . out . println ( "[getfield of " + availableLoad + "]" ) ; } ValueNumber [ ] loadedValue = frame . getAvailableLoad ( availableLoad ) ; if ( loadedValue == null ) { ValueNumber [ ] inputValueList = new ValueNumber [ ] { reference } ; loadedValue = getOutputValues ( inputValueList , getNumWordsProduced ( obj ) ) ; frame . addAvailableLoad ( availableLoad , loadedValue ) ; if ( RLE_DEBUG ) { System . out . println ( "[Making load available " + availableLoad + " <- " + vlts ( loadedValue ) + "]" ) ; } } else { if ( RLE_DEBUG ) { System . out . println ( "[Found available load " + availableLoad + " <- " + vlts ( loadedValue ) + "]" ) ; } } pushOutputValues ( loadedValue ) ; if ( VERIFY_INTEGRITY ) { checkConsumedAndProducedValues ( obj , new ValueNumber [ ] { reference } , loadedValue ) ; } } catch ( DataflowAnalysisException e ) { throw new InvalidBytecodeException ( "Error loading from instance field" , e ) ; } }
Load an instance field.

@param instanceField
the field
@param obj
the Instruction loading the field