This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]