aboutsummaryrefslogtreecommitdiff
path: root/backendC/CleanCompilerSources
diff options
context:
space:
mode:
Diffstat (limited to 'backendC/CleanCompilerSources')
-rw-r--r--backendC/CleanCompilerSources/codegen2.c4
-rw-r--r--backendC/CleanCompilerSources/optimisations.c8
-rw-r--r--backendC/CleanCompilerSources/syntaxtr.t6
3 files changed, 10 insertions, 8 deletions
diff --git a/backendC/CleanCompilerSources/codegen2.c b/backendC/CleanCompilerSources/codegen2.c
index e1446a0..b3054ac 100644
--- a/backendC/CleanCompilerSources/codegen2.c
+++ b/backendC/CleanCompilerSources/codegen2.c
@@ -3499,7 +3499,7 @@ int is_unique_record_update (NodeIdP record_node_id,NodeP record_node)
#endif
if ((record_node_id->nid_state.state_mark & STATE_UNIQUE_MASK)!=0 &&
-#if 1
+#if BOXED_RECORDS
(
((record_node_id->nid_mark2 & (NID_RECORD_USED_BY_UPDATE | NID_RECORD_USED_BY_NON_SELECTOR_OR_UPDATES))==NID_RECORD_USED_BY_UPDATE
&& record_node_id->nid_refcount==-2)
@@ -3516,7 +3516,7 @@ int is_unique_record_update (NodeIdP record_node_id,NodeP record_node)
return 1;
}
-# if 1
+#if BOXED_RECORDS
# if 0
printf ("%d %d %d %d\n",record_node_id->nid_state.state_type==SimpleState,record_node_id->nid_mark2,record_node_id->nid_mark,record_node_id->nid_refcount);
# endif
diff --git a/backendC/CleanCompilerSources/optimisations.c b/backendC/CleanCompilerSources/optimisations.c
index 9ceed19..2e8517a 100644
--- a/backendC/CleanCompilerSources/optimisations.c
+++ b/backendC/CleanCompilerSources/optimisations.c
@@ -2638,9 +2638,9 @@ static void optimise_node_in_then_or_else (NodeP node,FreeUniqueNodeIdsS **f_nod
node_id=arg->arg_node->node_node_id;
if ((node_id->nid_mark2 & NID_HAS_REFCOUNT_WITHOUT_UPDATES)!=0 && node_id->nid_refcount==-2)
++node_id->nid_number;
-
+# if BOXED_RECORDS
node_id->nid_mark2 |= NID_RECORD_USED_BY_UPDATE;
-
+# endif
arg=arg->arg_next;
}
# if BOXED_RECORDS
@@ -2915,9 +2915,9 @@ static void optimise_node (NodeP node,FreeUniqueNodeIdsS **f_node_ids_l)
node_id=arg->arg_node->node_node_id;
if ((node_id->nid_mark2 & NID_HAS_REFCOUNT_WITHOUT_UPDATES)!=0 && node_id->nid_refcount==-2)
++node_id->nid_number;
-
+# if BOXED_RECORDS
node_id->nid_mark2 |= NID_RECORD_USED_BY_UPDATE;
-
+# endif
arg=arg->arg_next;
}
# if BOXED_RECORDS
diff --git a/backendC/CleanCompilerSources/syntaxtr.t b/backendC/CleanCompilerSources/syntaxtr.t
index c51183b..233ac3c 100644
--- a/backendC/CleanCompilerSources/syntaxtr.t
+++ b/backendC/CleanCompilerSources/syntaxtr.t
@@ -340,8 +340,10 @@ STRUCT (node_id,NodeId){
/* Masks for nid_mark2 */
#define NID_SELECTION_NODE_ID 1
-#define NID_RECORD_USED_BY_UPDATE 2
-#define NID_RECORD_USED_BY_NON_SELECTOR_OR_UPDATES 4
+#if BOXED_RECORDS
+# define NID_RECORD_USED_BY_UPDATE 2
+# define NID_RECORD_USED_BY_NON_SELECTOR_OR_UPDATES 4
+#endif
#define NID_FIELD_NAME_MASK 32 /* typechecker */
#define NID_COMPONENT_DETERMINED_MASK 256 /* optimise_lambda */