Author: martin
Date: 2005-05-02 12:40:35 -0400 (Mon, 02 May 2005)
New Revision: 43891
Modified:
trunk/mcs/mcs/ChangeLog
trunk/mcs/mcs/flowanalysis.cs
Log:
2005-05-02 Martin Baulig <[EMAIL PROTECTED]>
Fix #70182.
* flowanalysis.cs (FlowBranching.UsageVector.MergeJumpOrigins):
Also `And' the locals if the old vector is null.
(FlowBranching.UsageVector.BitVector.And): Allow `vector' being
null; in this case we basically reset all the variables.
Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog 2005-05-02 16:40:08 UTC (rev 43890)
+++ trunk/mcs/mcs/ChangeLog 2005-05-02 16:40:35 UTC (rev 43891)
@@ -1,5 +1,14 @@
2005-05-02 Martin Baulig <[EMAIL PROTECTED]>
+ Fix #70182.
+
+ * flowanalysis.cs (FlowBranching.UsageVector.MergeJumpOrigins):
+ Also `And' the locals if the old vector is null.
+ (FlowBranching.UsageVector.BitVector.And): Allow `vector' being
+ null; in this case we basically reset all the variables.
+
+2005-05-02 Martin Baulig <[EMAIL PROTECTED]>
+
Fix #74529.
* flowanalysis.cs (FlowBranching.UsageVector.MergeBreakOrigins):
Modified: trunk/mcs/mcs/flowanalysis.cs
===================================================================
--- trunk/mcs/mcs/flowanalysis.cs 2005-05-02 16:40:08 UTC (rev 43890)
+++ trunk/mcs/mcs/flowanalysis.cs 2005-05-02 16:40:35 UTC (rev 43891)
@@ -764,7 +764,8 @@
for (UsageVector vector = o_vectors; vector !=
null;
vector = vector.Next) {
- Report.Debug (1, " MERGING JUMP
ORIGIN", vector);
+ Report.Debug (1, " MERGING JUMP
ORIGIN", vector,
+ first, locals,
vector.Locals);
if (first) {
if (locals != null &&
vector.Locals != null)
@@ -774,13 +775,15 @@
parameters.Or
(vector.parameters);
first = false;
} else {
- if (locals != null &&
vector.Locals != null)
+ if (locals != null)
locals.And
(vector.locals);
if (parameters != null)
parameters.And
(vector.parameters);
}
Reachability.And (ref reachability,
vector.Reachability, true);
+
+ Report.Debug (1, " MERGING JUMP ORIGIN
#1", vector);
}
Report.Debug (1, " MERGING JUMP ORIGINS DONE",
this);
@@ -2196,8 +2199,13 @@
// </summary>
public void And (MyBitVector new_vector)
{
- BitArray new_array = new_vector.Vector;
+ BitArray new_array;
+ if (new_vector != null)
+ new_array = new_vector.Vector;
+ else
+ new_array = new BitArray (Count, false);
+
initialize_vector ();
int lower, upper;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches