This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Exception causing insns in delay slots
From: "John David Anglin" <dave@hiauly1.hia.nrc.ca>
Date: Fri, 26 Apr 2002 16:03:32 -0400 (EDT)
One of the optimizations that was disabled in the hppa-linux dw2
implementation was the return pointer adjustment for unconditional
branches in the delay slot of a call sequence.
Identically on Sparc, all of the peepholes we use to generate that
kind of return pointer adjustment are protected like so:
"short_branch (INSN_UID (insn), INSN_UID (operands[3]))
&& (USING_SJLJ_EXCEPTIONS || ! can_throw_internal (ins1))"
Check out config/sparc/sparc.md starting at the line that reads:
;; Now peepholes to do a call followed by a jump.
which is around line 9356.
Franks a lot,
David S. Miller
davem@redhat.com