aboutsummaryrefslogtreecommitdiff
path: root/frontend/convertcases.icl
diff options
context:
space:
mode:
authorjohnvg2012-08-07 12:37:41 +0000
committerjohnvg2012-08-07 12:37:41 +0000
commit69b754ebc3f039274836cc05b9a92f28721409e4 (patch)
tree2e21e45c625f1b12eed793fe95e957fe8167ebf8 /frontend/convertcases.icl
parentfix fusion of a function that is both the consumer and the producer. (diff)
use an unboxed tail strict list for cc_linear_bits to reduce memory usage
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2136 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/convertcases.icl')
-rw-r--r--frontend/convertcases.icl3
1 files changed, 2 insertions, 1 deletions
diff --git a/frontend/convertcases.icl b/frontend/convertcases.icl
index 9b40ba0..aff1e38 100644
--- a/frontend/convertcases.icl
+++ b/frontend/convertcases.icl
@@ -1,5 +1,6 @@
implementation module convertcases
+import StdStrictLists
import syntax, compare_types, utilities, expand_types, general
from checksupport import ::Component(..),::ComponentMembers(..)
@@ -1121,7 +1122,7 @@ newFunctionWithType opt_id fun_bodies local_vars fun_type group_index (cs_next_f
= ({ symb_ident = fun_id, symb_kind = SK_GeneratedFunction fun_def_ptr cs_next_fun_nr },
(inc cs_next_fun_nr, [fun_def_ptr : cs_new_functions],
cs_fun_heap <:= (fun_def_ptr, FI_Function { gf_fun_def = fun_def, gf_instance_info = II_Empty,
- gf_fun_index = cs_next_fun_nr, gf_cons_args = {cc_size=0, cc_args = [], cc_linear_bits = [], cc_producer = False} })))
+ gf_fun_index = cs_next_fun_nr, gf_cons_args = {cc_size=0, cc_args = [], cc_linear_bits = [#!], cc_producer = False} })))
addNewFunctionsToGroups :: !{#.CommonDefs} FunctionHeap ![FunctionInfoPtr] !Int !*{!Component} !*{#{# CheckedTypeDef}} !ImportedFunctions !*TypeHeaps !*VarHeap
-> (!*{!Component}, ![FunDef], !*{#{# CheckedTypeDef}}, !ImportedConstructors, !*TypeHeaps, !*VarHeap)