private void storeStaticField ( XField staticField , Instruction obj , boolean pushStoredValue ) { if ( RLE_DEBUG ) { System . out . println ( "[storeStaticField for field " + staticField + " in instruction " + handle ) ; } ValueNumberFrame frame = getFrame ( ) ; AvailableLoad availableLoad = new AvailableLoad ( staticField ) ; int numWordsConsumed = getNumWordsConsumed ( obj ) ; ValueNumber [ ] inputValueList = popInputValues ( numWordsConsumed ) ; if ( pushStoredValue ) { pushOutputValues ( inputValueList ) ; } // Kill loads of this field frame . killLoadsOfField ( staticField ) ; // Make load available frame . addAvailableLoad ( availableLoad , inputValueList ) ; if ( RLE_DEBUG ) { System . out . println ( "[making store of " + staticField + " available]" ) ; } if ( VERIFY_INTEGRITY ) { checkConsumedAndProducedValues ( obj , inputValueList , pushStoredValue ? inputValueList : EMPTY_INPUT_VALUE_LIST ) ; } }
Store a static field .