private void markAsRead(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isRead() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setRead(); repeatTrigger.set(); } }
private void markAsWritten(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isWritten() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setWritten(); repeatTrigger.set(); } }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { Clazz referencedClass = classConstant.referencedClass; // If a static initializer may modify anything, so does the referencing // method. if (referencedClass == null || SideEffectClassChecker.mayHaveSideEffects(clazz, referencedClass)) { markAnythingModified(referencingMethod); } }
public void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction) { // Check if it may be throwing exceptions. if (sideEffectInstructionChecker.hasSideEffects(clazz, method, codeAttribute, offset, instruction)) { markSideEffects(clazz, method); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Note that side effects already include synchronization of some // implementation of the method. hasSideEffects = SideEffectMethodMarker.hasSideEffects(programMethod) || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programMethod); }
private static void setAccessesPrivateCode(Method method) { MethodOptimizationInfo info = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (info != null) { info.setAccessesPrivateCode(); } }
private static void generalizeFieldValue(Field field, Value value) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (info != null) { info.generalizeValue(value); } }
private void markAsRead(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isRead() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setRead(); repeatTrigger.set(); } }
private void markAsWritten(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isWritten() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setWritten(); repeatTrigger.set(); } }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { Clazz referencedClass = classConstant.referencedClass; // If a static initializer may modify anything, so does the referencing // method. if (referencedClass == null || SideEffectClassChecker.mayHaveSideEffects(clazz, referencedClass)) { markAnythingModified(referencingMethod); } }
public void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction) { // Check if it may be throwing exceptions. if (sideEffectInstructionChecker.hasSideEffects(clazz, method, codeAttribute, offset, instruction)) { markSideEffects(clazz, method); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Note that side effects already include synchronization of some // implementation of the method. hasSideEffects = SideEffectMethodMarker.hasSideEffects(programMethod) || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programMethod); }
private void markAsRead(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isRead() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setRead(); repeatTrigger.set(); } }
private void markAsWritten(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isWritten() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setWritten(); repeatTrigger.set(); } }
public void visitClassConstant(Clazz clazz, ClassConstant classConstant) { Clazz referencedClass = classConstant.referencedClass; // If a static initializer may modify anything, so does the referencing // method. if (referencedClass == null || SideEffectClassChecker.mayHaveSideEffects(clazz, referencedClass)) { markAnythingModified(referencingMethod); } }
public void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction) { // Check if it may be throwing exceptions. if (sideEffectInstructionChecker.hasSideEffects(clazz, method, codeAttribute, offset, instruction)) { markSideEffects(clazz, method); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Note that side effects already include synchronization of some // implementation of the method. hasSideEffects = SideEffectMethodMarker.hasSideEffects(programMethod) || SideEffectClassChecker.mayHaveSideEffects(referencingClass, programClass, programMethod); }
public void visitStringConstant(Clazz clazz, StringConstant stringConstant) { Clazz referencedClass = stringConstant.referencedClass; // If a static initializer may modify anything, so does the referencing // method. if (referencedClass == null || SideEffectClassChecker.mayHaveSideEffects(clazz, referencedClass)) { markAnythingModified(referencingMethod); } }
public void visitStringConstant(Clazz clazz, StringConstant stringConstant) { Clazz referencedClass = stringConstant.referencedClass; // If a static initializer may modify anything, so does the referencing // method. if (referencedClass == null || SideEffectClassChecker.mayHaveSideEffects(clazz, referencedClass)) { markAnythingModified(referencingMethod); } }
public void visitStringConstant(Clazz clazz, StringConstant stringConstant) { Clazz referencedClass = stringConstant.referencedClass; // If a static initializer may modify anything, so does the referencing // method. if (referencedClass == null || SideEffectClassChecker.mayHaveSideEffects(clazz, referencedClass)) { markAnythingModified(referencingMethod); } }