Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-compiler-and-rts
compiler
Commits
d2f1e11f
Commit
d2f1e11f
authored
Oct 21, 2002
by
John van Groningen
Browse files
add boxed records
parent
e06dfbf7
Changes
2
Hide whitespace changes
Inline
Side-by-side
backendC/CleanCompilerSources/pattern_match.h
View file @
d2f1e11f
...
...
@@ -5,3 +5,6 @@ extern struct node_id_ref_count_list *new_node_id_ref_count (struct node_id_ref_
#ifdef TRANSFORM_PATTERNS_BEFORE_STRICTNESS_ANALYSIS
extern
void
determine_failing_cases_and_adjust_ref_counts_of_rule
(
RuleAltP
first_alt
);
#endif
#if BOXED_RECORDS
void
set_global_reference_counts_and_exchange_record_update_marks
(
NodeP
case_node
);
#endif
backendC/CleanCompilerSources/pattern_match_2.c
View file @
d2f1e11f
...
...
@@ -458,6 +458,30 @@ void set_global_reference_counts (NodeP case_node)
replace_local_ref_count_by_global_ref_count
(
case_node
->
node_node_id_ref_counts
);
}
#if BOXED_RECORDS
void
set_global_reference_counts_and_exchange_record_update_marks
(
NodeP
case_node
)
{
NodeIdRefCountListP
node_id_ref_count_elem
;
for_l
(
node_id_ref_count_elem
,
case_node
->
node_node_id_ref_counts
,
nrcl_next
){
int
local_ref_count
;
NodeIdP
node_id
;
unsigned
int
node_id_mark2
;
node_id
=
node_id_ref_count_elem
->
nrcl_node_id
;
node_id_mark2
=
node_id
->
nid_mark2
;
node_id
->
nid_mark2
=
(
node_id_mark2
&
~
NID_RECORD_USED_BY_NON_SELECTOR_OR_UPDATES
)
|
node_id_ref_count_elem
->
nrcl_mark2
;
node_id_ref_count_elem
->
nrcl_mark2
=
node_id_mark2
&
NID_RECORD_USED_BY_NON_SELECTOR_OR_UPDATES
;
local_ref_count
=
node_id
->
nid_refcount
;
node_id
->
nid_refcount
=
local_ref_count
+
node_id_ref_count_elem
->
nrcl_ref_count
;
node_id_ref_count_elem
->
nrcl_ref_count
=
local_ref_count
;
}
}
#endif
static
void
merge_node_id_ref_count_lists
(
NodeIdRefCountListP
*
list1_p
,
NodeIdRefCountListP
list2
)
{
while
(
list2
!=
NULL
){
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment