@@ -183,7 +183,7 @@ object consumer extends ConsumptionRules {
183183 v.logger.debug(" hR = " + s.reserveHeaps.map(v.stateFormatter.format).mkString(" " , " ,\n " , " " ))
184184
185185 val consumed = a match {
186- case imp @ ast.Implies (e0, a0) if ! a.isPure && s.moreJoins =>
186+ case imp @ ast.Implies (e0, a0) if ! a.isPure && s.moreJoins > 0 =>
187187 val impliesRecord = new ImpliesRecord (imp, s, v.decider.pcs, " consume" )
188188 val uidImplies = v.symbExLog.openScope(impliesRecord)
189189 consumeConditionalTlcMoreJoins(s, h, e0, a0, None , uidImplies, pve, v)(Q )
@@ -203,7 +203,7 @@ object consumer extends ConsumptionRules {
203203 Q (s2, h, Unit , v2)
204204 }))
205205
206- case ite @ ast.CondExp (e0, a1, a2) if ! a.isPure && s.moreJoins =>
206+ case ite @ ast.CondExp (e0, a1, a2) if ! a.isPure && s.moreJoins > 0 =>
207207 val condExpRecord = new CondExpRecord (ite, s, v.decider.pcs, " consume" )
208208 val uidCondExp = v.symbExLog.openScope(condExpRecord)
209209 consumeConditionalTlcMoreJoins(s, h, e0, a1, Some (a2), uidCondExp, pve, v)(Q )
@@ -507,7 +507,7 @@ object consumer extends ConsumptionRules {
507507 // Asume that entry1.pcs is inverse of entry2.pcs
508508 Ite (And (entry1.pathConditions.branchConditions), entry1.data._2, entry2.data._2)
509509 )
510- (entry1.pathConditionAwareMerge (entry2, v1), mergedData)
510+ (entry1.pathConditionAwareMergeWithoutConsolidation (entry2, v1), mergedData)
511511 case _ =>
512512 sys.error(s " Unexpected join data entries: $entries" )
513513 }
0 commit comments