public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* basic block reordering + java
@ 2001-09-21  7:26 Anthony Green
  2001-09-21  7:30 ` Andrew Haley
  2001-09-22  8:43 ` Jan Hubicka
  0 siblings, 2 replies; 7+ messages in thread
From: Anthony Green @ 2001-09-21  7:26 UTC (permalink / raw)
  To: Gcc@Gcc. Gnu. Org, Java@Gcc. Gnu. Org

With basic block reordering, we often see code from gcj that ends in...

.L20:
        call    _Jv_ThrowNullPointerException
.L21:
        call    _Jv_ThrowNullPointerException
.L22:
        call    _Jv_ThrowNullPointerException
.L23:
        call    _Jv_ThrowNullPointerException
.L24:
        call    _Jv_ThrowNullPointerException
.L25:
        call    _Jv_ThrowNullPointerException
.L26:
        call    _Jv_ThrowNullPointerException

Is there an easy way for GCC to merge identical blocks?


Also, I find that if the last NullPointerException branch is taken,
printStackTrace() will produce incorrect results.  You end up seeing the
function after this in place of the one calling _Jv_ThrowNullPointerException.
Should we be backing up the program counter somewhere? (or emitting a NOP at
the very end of each function?)

AG


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-09-24 15:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-21  7:26 basic block reordering + java Anthony Green
2001-09-21  7:30 ` Andrew Haley
2001-09-21  7:33   ` Jakub Jelinek
2001-09-21  7:37     ` Andrew Haley
2001-09-22  8:43 ` Jan Hubicka
2001-09-24  4:49   ` Jan Hubicka
2001-09-24 15:19     ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).