The IA-64, Intel's 64-bit instruction set architecture, exhibits a number o
f interesting architectural features. Here we consider those features as th
ey relate to supporting garbage collection (GC). We aim to assist GC and co
mpiler implementers by describing how one may exploit features of the IA-64
. Along the way, we record some previously unpublished object scanning tech
niques, and offer novel ones for object allocation (suggesting some simple
operating system support that would simplify it) and the Java "jsr problem"
. We also discuss ordering of memory accesses and how the IA-64 can achieve
publication safety efficiently. While our focus is not on any particular G
C implementation or programming language, we draw on our experience designi
ng and implementing GC for the Intel Java Virtual Machine for the IA-64.