Commit ececf1b9 by Andreas Jaeger Committed by Andreas Jaeger

* mark.c (GC_mark_from): Use pointer as prefetch argument.

From-SVN: r81155
parent 6eb91cc0
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> 2004-04-06 H.J. Lu <hongjiu.lu@intel.com>
* include/private/gcconfig.h (PREFETCH): Use __builtin_prefetch * include/private/gcconfig.h (PREFETCH): Use __builtin_prefetch
......
...@@ -684,7 +684,7 @@ mse * mark_stack_limit; ...@@ -684,7 +684,7 @@ mse * mark_stack_limit;
current = *current_p; current = *current_p;
FIXUP_POINTER(current); FIXUP_POINTER(current);
if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) { 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, HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top,
mark_stack_limit, current_p, exit1); mark_stack_limit, current_p, exit1);
} }
...@@ -760,7 +760,7 @@ mse * mark_stack_limit; ...@@ -760,7 +760,7 @@ mse * mark_stack_limit;
FIXUP_POINTER(deferred); FIXUP_POINTER(deferred);
limit = (word *)((char *)limit - ALIGNMENT); limit = (word *)((char *)limit - ALIGNMENT);
if ((ptr_t)deferred >= least_ha && (ptr_t)deferred < greatest_ha) { if ((ptr_t)deferred >= least_ha && (ptr_t)deferred < greatest_ha) {
PREFETCH(deferred); PREFETCH((ptr_t)deferred);
break; break;
} }
if (current_p > limit) goto next_object; if (current_p > limit) goto next_object;
...@@ -770,7 +770,7 @@ mse * mark_stack_limit; ...@@ -770,7 +770,7 @@ mse * mark_stack_limit;
FIXUP_POINTER(deferred); FIXUP_POINTER(deferred);
limit = (word *)((char *)limit - ALIGNMENT); limit = (word *)((char *)limit - ALIGNMENT);
if ((ptr_t)deferred >= least_ha && (ptr_t)deferred < greatest_ha) { if ((ptr_t)deferred >= least_ha && (ptr_t)deferred < greatest_ha) {
PREFETCH(deferred); PREFETCH((ptr_t)deferred);
break; break;
} }
if (current_p > limit) goto next_object; if (current_p > limit) goto next_object;
...@@ -787,7 +787,7 @@ mse * mark_stack_limit; ...@@ -787,7 +787,7 @@ mse * mark_stack_limit;
if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) { if ((ptr_t)current >= least_ha && (ptr_t)current < greatest_ha) {
/* Prefetch the contents of the object we just pushed. It's */ /* Prefetch the contents of the object we just pushed. It's */
/* likely we will need them soon. */ /* likely we will need them soon. */
PREFETCH(current); PREFETCH((ptr_t)current);
HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top, HC_PUSH_CONTENTS((ptr_t)current, mark_stack_top,
mark_stack_limit, current_p, exit2); mark_stack_limit, current_p, exit2);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment