/** * Resolves all phi types in the method * @param ssaMeth method to process */ public static void process (SsaMethod ssaMeth) { new PhiTypeResolver(ssaMeth).run(); }
private static void runSsaFormSteps(SsaMethod ssaMeth, EnumSet<OptionalStep> steps) { boolean needsDeadCodeRemover = true; if (steps.contains(OptionalStep.MOVE_PARAM_COMBINER)) { MoveParamCombiner.process(ssaMeth); } if (steps.contains(OptionalStep.SCCP)) { SCCP.process(ssaMeth); } if (steps.contains(OptionalStep.LITERAL_UPGRADE)) { LiteralOpUpgrader.process(ssaMeth); DeadCodeRemover.process(ssaMeth); needsDeadCodeRemover = false; } if (steps.contains(OptionalStep.CONST_COLLECTOR)) { ConstCollector.process(ssaMeth); DeadCodeRemover.process(ssaMeth); needsDeadCodeRemover = false; } // dead code remover must be run before phi type resolver if (needsDeadCodeRemover) { DeadCodeRemover.process(ssaMeth); } PhiTypeResolver.process(ssaMeth); }
if (resolveResultType(definsn)) {
&& equalsHandlesNulls(firstLocal, rs.getLocalItem()); && equalsHandlesNulls(newLocal, result.getLocalItem())) { return false;
PhiTypeResolver.process(ssaMeth);
if (resolveResultType(definsn)) {
&& equalsHandlesNulls(firstLocal, rs.getLocalItem()); && equalsHandlesNulls(newLocal, result.getLocalItem())) { return false;
/** * Resolves all phi types in the method * @param ssaMeth method to process */ public static void process (SsaMethod ssaMeth) { new PhiTypeResolver(ssaMeth).run(); }
PhiTypeResolver.process(ssaMeth);
if (resolveResultType(definsn)) {
&& equalsHandlesNulls(firstLocal, rs.getLocalItem()); && equalsHandlesNulls(newLocal, result.getLocalItem())) { return false;
/** * Resolves all phi types in the method * @param ssaMeth method to process */ public static void process (SsaMethod ssaMeth) { new PhiTypeResolver(ssaMeth).run(); }
PhiTypeResolver.process(ssaMeth);
if (resolveResultType(definsn)) {
&& equalsHandlesNulls(firstLocal, rs.getLocalItem()); && equalsHandlesNulls(newLocal, result.getLocalItem())) { return false;
/** * Resolves all phi types in the method * @param ssaMeth method to process */ public static void process (SsaMethod ssaMeth) { new PhiTypeResolver(ssaMeth).run(); }
PhiTypeResolver.process(ssaMeth);
if (resolveResultType(definsn)) {
&& equalsHandlesNulls(firstLocal, rs.getLocalItem()); && equalsHandlesNulls(newLocal, result.getLocalItem())) { return false;
/** * Resolves all phi types in the method * @param ssaMeth method to process */ public static void process (SsaMethod ssaMeth) { new PhiTypeResolver(ssaMeth).run(); }