aboutsummaryrefslogtreecommitdiff
path: root/frontend/refmark.icl
diff options
context:
space:
mode:
authorsjakie2001-11-21 08:48:26 +0000
committersjakie2001-11-21 08:48:26 +0000
commitd945137ff7eeb6fc9326b0ff79eb60a0db0882db (patch)
treeb3b2592be8f907929147dbdc6beaf88e004d647d /frontend/refmark.icl
parentbug fix determination of exported funtion (diff)
Bug fix: reference count analysis for dynamics
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@895 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/refmark.icl')
-rw-r--r--frontend/refmark.icl8
1 files changed, 5 insertions, 3 deletions
diff --git a/frontend/refmark.icl b/frontend/refmark.icl
index b77ae39..dcf9f23 100644
--- a/frontend/refmark.icl
+++ b/frontend/refmark.icl
@@ -352,9 +352,9 @@ refMarkOfCase free_vars sel def {case_expr, case_guards=OverloadedListPatterns t
= refMarkOfAlgebraicOrOverloadedListCase free_vars sel def case_expr patterns case_explicit case_default var_heap
refMarkOfCase free_vars sel def {case_expr,case_guards=DynamicPatterns patterns,case_default,case_explicit} var_heap
- # (used_free_vars, var_heap) = collectUsedFreeVariables free_vars var_heap
- var_heap = parCombine free_vars var_heap
- (local_lets, var_heap) = collectOpenLetVars free_vars var_heap
+// (used_free_vars, var_heap) = collectUsedFreeVariables free_vars var_heap
+// var_heap = parCombine free_vars var_heap
+ # (local_lets, var_heap) = collectOpenLetVars free_vars var_heap
(def, used_lets, var_heap) = refMarkOfDefault case_explicit free_vars sel def case_default local_lets var_heap
(pattern_depth, used_lets, var_heap) = foldSt (ref_mark_of_dynamic_pattern free_vars sel local_lets def) patterns (0, used_lets, var_heap)
var_heap = addRefMarkOfDefault pattern_depth free_vars def used_lets var_heap
@@ -466,6 +466,7 @@ addRefMarkOfDefault pattern_depth free_vars No used_lets var_heap
= altCombine pattern_depth free_vars var_heap
+/*
parCombine free_vars var_heap
= foldSt (foldSt (par_combine)) free_vars var_heap
where
@@ -473,6 +474,7 @@ where
# (VI_Occurrence old_occ=:{occ_ref_count,occ_previous=[prev_ref_count:prev_counts]}, var_heap) = readPtr fv_info_ptr var_heap
= var_heap <:= (fv_info_ptr, VI_Occurrence { old_occ &
occ_ref_count = parCombineRefCount occ_ref_count prev_ref_count , occ_previous = prev_counts })
+*/
caseCombine do_par_combine free_vars var_heap
= foldSt (foldSt (case_combine do_par_combine)) free_vars var_heap // (var_heap ---> ("caseCombine", free_vars))