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(); } }
private void markAsWritten(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isWritten() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setWritten(); repeatTrigger.set(); } }
private void markAsRead(Field field) { FieldOptimizationInfo fieldOptimizationInfo = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (!fieldOptimizationInfo.isRead() && fieldOptimizationInfo instanceof ProgramFieldOptimizationInfo) { ((ProgramFieldOptimizationInfo)fieldOptimizationInfo).setRead(); repeatTrigger.set(); } }
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(); } }
/** * Marks that anything may be modified by the given method. */ private void markAnythingModified(Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.modifiesAnything() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setModifiesAnything(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.modifiesAnything()) { repeatTrigger.set(); } } }
/** * Marks that the given method returns new instances (created inside the * method). */ private void markReturnsNewInstances(Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.returnsNewInstances() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setReturnsNewInstances(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.returnsNewInstances()) { repeatTrigger.set(); } } }
/** * Marks the given parameters as modified by the given method. */ private void markModifiedParameters(Method method, long modifiedParameters) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); long oldModifiedParameters = methodOptimizationInfo.getModifiedParameters(); if ((~oldModifiedParameters & modifiedParameters) != 0 && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).updateModifiedParameters(modifiedParameters); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.getModifiedParameters() != oldModifiedParameters) { repeatTrigger.set(); } } }
/** * Marks that the given method returns external reference values (not * parameter or new instance). */ private void markReturnsExternalValues(Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.returnsExternalValues() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setReturnsExternalValues(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.returnsExternalValues()) { repeatTrigger.set(); } } }
/** * Marks the given parameters as returned from the given method. */ private void markReturnedParameters(Method method, long returnedParameters) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); long oldReturnedParameters = methodOptimizationInfo.getReturnedParameters(); if ((~oldReturnedParameters & returnedParameters) != 0 && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).updateReturnedParameters(returnedParameters); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.getReturnedParameters() != oldReturnedParameters) { repeatTrigger.set(); } } }
/** * Marks that anything may be modified by the given method. */ private void markAnythingModified(Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.modifiesAnything() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setModifiesAnything(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.modifiesAnything()) { repeatTrigger.set(); } } }
/** * Marks the given parameter as returned from the given method. */ private void markParameterReturned(Method method, int parameterIndex) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.returnsParameter(parameterIndex) && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setParameterReturned(parameterIndex); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.returnsParameter(parameterIndex)) { repeatTrigger.set(); } } }
/** * Marks the given parameter as modified by the given method. */ private void markParameterModified(Method method, int parameterIndex) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.isParameterModified(parameterIndex) && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setParameterModified(parameterIndex); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.isParameterModified(parameterIndex)) { repeatTrigger.set(); } } }
/** * Marks that anything may be modified by the given method. */ private void markAnythingModified(Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.modifiesAnything() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setModifiesAnything(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.modifiesAnything()) { repeatTrigger.set(); } } }
/** * Marks the given parameters as returned from the given method. */ private void markReturnedParameters(Method method, long returnedParameters) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); long oldReturnedParameters = methodOptimizationInfo.getReturnedParameters(); if ((~oldReturnedParameters & returnedParameters) != 0 && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).updateReturnedParameters(returnedParameters); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.getReturnedParameters() != oldReturnedParameters) { repeatTrigger.set(); } } }
/** * Marks the given parameters as escaping from the given method. */ private void markEscapingParameters(Method method, long escapingParameters) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); long oldEscapingParameters = methodOptimizationInfo.getEscapingParameters(); if ((~oldEscapingParameters & escapingParameters) != 0 && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).updateEscapingParameters(escapingParameters); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.getEscapingParameters() != oldEscapingParameters) { repeatTrigger.set(); } } }
private void markSideEffects(Clazz clazz, Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.hasSideEffects() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setSideEffects(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.hasSideEffects()) { repeatTrigger.set(); // Also mark the class if the method is a static initializer. if (method.getName(clazz).equals(ClassConstants.METHOD_NAME_CLINIT)) { clazz.accept(sideEffectClassMarker); } } } }
private void markSideEffects(Clazz clazz, Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.hasSideEffects() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setSideEffects(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.hasSideEffects()) { repeatTrigger.set(); // Also mark the class if the method is a static initializer. if (method.getName(clazz).equals(ClassConstants.METHOD_NAME_CLINIT)) { clazz.accept(sideEffectClassMarker); } } } }
private void markSideEffects(Clazz clazz, Method method) { MethodOptimizationInfo methodOptimizationInfo = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (!methodOptimizationInfo.hasSideEffects() && methodOptimizationInfo instanceof ProgramMethodOptimizationInfo) { ((ProgramMethodOptimizationInfo)methodOptimizationInfo).setSideEffects(); // Trigger the repeater if the setter has changed the value. if (methodOptimizationInfo.hasSideEffects()) { repeatTrigger.set(); // Also mark the class if the method is a static initializer. if (method.getName(clazz).equals(ClassConstants.METHOD_NAME_CLINIT)) { clazz.accept(sideEffectClassMarker); } } } }