2004/04/20 09:53:04-07:00 hp.com!davidm
(validate_cache): If HAVE_DL_PHDR_REMOVALS_COUNTER is defined, use
dl_phdr_removals_counter() to validate the cache. This is
much more efficient than using dl_iterate_phdr(), since it
avoids locking.
(Logical change 1.205)
(SC_FLAGS): New macro.
(rTMP): Move from r14 to r10.
(rPOS): Move from r14 to r11.
(rCPOS): Move from r17 to r14.
(rNAT): Move from r18 to r15.
(rFLAGS): New macro.
(Logical change 1.193)
(uc_addr): Moved to here from Ginit-ia64.c and added a special
case when the register is constant.
(IA64_REG_LOC): Use uc_addr() instead of tdep_uc_addr().
(IA64_REG_NAT_LOC): Likewise.
(IA64_FPREG_LOC): Likewise.
(Logical change 1.186)
directives specify physical stacked register numbers and
the register-backing store always represents physical
registers, so it was wrong to rotate here.
(Logical change 1.184)
Adjust NaT-bit handling. Much simpler now.
Pass NULL as new third argument to ia64_scratch_loc().
Set save_loc->extra.nat_bitnr to the NaT bit number (or 0
when not accessing a NaT bit).
(Logical change 1.181)
Handle NaT-bit registers by returning not just the
NaT-word address, but also the NaT-bit number.
(hpux_scratch_loc): Add "nat_bitnr"-pointer argument.
(ia64_scratch_loc): Likewise.
(access_nat): Add "nat_bitnr" argument. Rename "loc" to "nat_loc".
Greatly simplify now that we have the NaT-word and the
NaT bit-number readily available.
(access_reg): Pass NaT-bit number to access_nat().
Handle scratch NaT-bit registers in a more generic fashion,
now that we can. Adjust all calls to ia64_scratch_loc() for
third argument.
(Logical change 1.181)
Added operations IA64_INSN_ADD_PSP_NAT, IA64_INSN_ADD_SP_NAT,
IA64_INSN_MOVE_NAT, IA64_INSN_MOVE_NO_NAT,
IA64_INSN_MOVE_STACKED_NAT, IA64_INSN_MOVE_STACKED_NAT,
IA64_INSN_MOVE_SCRATCH_NAT, and IA64_INSN_MOVE_SCRATCH_NO_NAT.
(emit_nat_info): Remove---it's no longer needed.
(compile_reg): Emit special op-codes when compiling a preserved
static register, such that it's NaT-info can be updated.
(set_nat_info): New function.
(run_script): Implement new script instructions.
(Logical change 1.181)
(build_script): Adjust for extra argument to compile_reg().
Fix the primary-NaT compilation such that it always
updates IA64_REGPRI_UNAT_MEM.
(run_script): For IA64_INSN_SETNET_MEMSTK, set the location based on
IA64_REG_PRI_UNAT_MEM and don't forget to turn on the
MEMSTK_NAT bit.
(Logical change 1.178)
to a stacked register. We can't use ia64_get_stacked() here because
c->rbs will, in general, be different from the frame in which the
register was saved.
(Logical change 1.173)