summaryrefslogtreecommitdiff
path: root/gcc/ggc-common.c
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-27 00:26:52 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-27 00:26:52 +0000
commit7d60cc603c75cb116460c7cc446891bae4462cb2 (patch)
tree4348e45b7dfeeb6d8cce2f6f38df5cb802f97b60 /gcc/ggc-common.c
parent486ca58f07fc2bc1f49ed571f507d792e21b4f1b (diff)
downloadgcc-7d60cc603c75cb116460c7cc446891bae4462cb2.tar.gz
2003-10-26 Daniel Berlin <dberlin@dberlin.org>
* ggc-zone.c: New file, zone allocating collector. * configure: Accept zone option for --with-gc * configure.in: Ditto. * ggc.h (ggc_pch_count_object): Pass bool indicating stringiness. Update all callers. (ggc_pch_alloc_object): Ditto. (ggc_pch_write_object): Ditto. (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single type. (ggc_alloc_rtvec): Ditto. (ggc_alloc_tree): Use zone allocation, since some things using this macro aren't a single typecode. * ggc-none.c (ggc_alloc_typed): New function. (ggc_alloc_zone): Ditto. * ggc-page.c: Ditto on both functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72971 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ggc-common.c')
-rw-r--r--gcc/ggc-common.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index 5f0d11dd9ba..eab766e0378 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -328,7 +328,7 @@ call_count (void **slot, void *state_p)
struct ptr_data *d = (struct ptr_data *)*slot;
struct traversal_state *state = (struct traversal_state *)state_p;
- ggc_pch_count_object (state->d, d->obj, d->size);
+ ggc_pch_count_object (state->d, d->obj, d->size, d->note_ptr_fn == gt_pch_p_S);
state->count++;
return 1;
}
@@ -339,7 +339,7 @@ call_alloc (void **slot, void *state_p)
struct ptr_data *d = (struct ptr_data *)*slot;
struct traversal_state *state = (struct traversal_state *)state_p;
- d->new_addr = ggc_pch_alloc_object (state->d, d->obj, d->size);
+ d->new_addr = ggc_pch_alloc_object (state->d, d->obj, d->size, d->note_ptr_fn == gt_pch_p_S);
state->ptrs[state->ptrs_i++] = d;
return 1;
}
@@ -524,7 +524,7 @@ gt_pch_save (FILE *f)
state.ptrs[i]->note_ptr_cookie,
relocate_ptrs, &state);
ggc_pch_write_object (state.d, state.f, state.ptrs[i]->obj,
- state.ptrs[i]->new_addr, state.ptrs[i]->size);
+ state.ptrs[i]->new_addr, state.ptrs[i]->size, state.ptrs[i]->note_ptr_fn == gt_pch_p_S);
if (state.ptrs[i]->note_ptr_fn != gt_pch_p_S)
memcpy (state.ptrs[i]->obj, this_object, state.ptrs[i]->size);
}