diff options
author | sjakie | 2001-11-21 08:48:26 +0000 |
---|---|---|
committer | sjakie | 2001-11-21 08:48:26 +0000 |
commit | d945137ff7eeb6fc9326b0ff79eb60a0db0882db (patch) | |
tree | b3b2592be8f907929147dbdc6beaf88e004d647d /frontend/refmark.icl | |
parent | bug 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.icl | 8 |
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)) |