diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index 182fef1cab35022f291a42b3ac7140322654cd4f..8195dd2dbc30a1b05205975dd336d39afa80893f 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,7 @@ +2004-04-25 Andreas Jaeger <aj@suse.de> + + * mark.c (GC_mark_from): Use pointer as prefetch argument. + 2004-04-06 H.J. Lu <hongjiu.lu@intel.com> * include/private/gcconfig.h (PREFETCH): Use __builtin_prefetch diff --git a/boehm-gc/mark.c b/boehm-gc/mark.c index ca947290291b880de35b19d2ca2a632476fd4322..fffd62ac90cf692c3dbcb428b0cd23922b3a5465 100644 --- a/boehm-gc/mark.c +++ b/boehm-gc/mark.c @@ -684,7 +684,7 @@ mse * mark_stack_limit; current = *current_p; FIXUP_POINTER(current); if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) { - PREFETCH(current); + PREFETCH((ptr_t)current); HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top, mark_stack_limit, current_p, exit1); } @@ -760,7 +760,7 @@ mse * mark_stack_limit; FIXUP_POINTER(deferred); limit = (word *)((char *)limit - ALIGNMENT); if ((ptr_t)deferred >= least_ha && (ptr_t)deferred < greatest_ha) { - PREFETCH(deferred); + PREFETCH((ptr_t)deferred); break; } if (current_p > limit) goto next_object; @@ -770,7 +770,7 @@ mse * mark_stack_limit; FIXUP_POINTER(deferred); limit = (word *)((char *)limit - ALIGNMENT); if ((ptr_t)deferred >= least_ha && (ptr_t)deferred < greatest_ha) { - PREFETCH(deferred); + PREFETCH((ptr_t)deferred); break; } if (current_p > limit) goto next_object; @@ -787,7 +787,7 @@ mse * mark_stack_limit; if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) { /* Prefetch the contents of the object we just pushed. It's */ /* likely we will need them soon. */ - PREFETCH(current); + PREFETCH((ptr_t)current); HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top, mark_stack_limit, current_p, exit2); }