Merge conditions refinement
This commit is contained in:
committed by
Alexander Udalov
parent
0f5e29df9b
commit
602e60f72e
+10
-2
@@ -211,12 +211,20 @@ public class BoxingInterpreter extends OptimizationBasicInterpreter {
|
|||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (v instanceof BoxedBasicValue && w != BasicValue.UNINITIALIZED_VALUE) {
|
if (v instanceof BoxedBasicValue && w == BasicValue.UNINITIALIZED_VALUE) {
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (w instanceof BoxedBasicValue && v == BasicValue.UNINITIALIZED_VALUE) {
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (v instanceof BoxedBasicValue) {
|
||||||
onMergeFail((BoxedBasicValue) v);
|
onMergeFail((BoxedBasicValue) v);
|
||||||
v = new BasicValue(v.getType());
|
v = new BasicValue(v.getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (w instanceof BoxedBasicValue && v != BasicValue.UNINITIALIZED_VALUE) {
|
if (w instanceof BoxedBasicValue) {
|
||||||
onMergeFail((BoxedBasicValue) w);
|
onMergeFail((BoxedBasicValue) w);
|
||||||
w = new BasicValue(w.getType());
|
w = new BasicValue(w.getType());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user