This is the mail archive of the
mailing list for the GCC project.
Trunk gcj on IA64
- To: "'java at gcc dot gnu dot org'" <java at gcc dot gnu dot org>, "'gcc at gcc dot gnu dot org'" <gcc at gcc dot gnu dot org>
- Subject: Trunk gcj on IA64
- From: "Boehm, Hans" <hans_boehm at hp dot com>
- Date: Fri, 17 Aug 2001 17:27:56 -0700
I put a patch for the gcc trunk in
With this, and Andrew Haley's patch to libjava/include/dwarf2-signal.h, I
managed to get the 8/8 trunk more or less working for Java.
This patch affects only the gcc part of the tree, not the java-specific
code. I suspect it also fixes some C++ bugs. I'm making it available now,
since I won't get a chance to work on it for at least the next week. Some
of it is not yet clean enough to be checked in.
flow.c, config.ia64/ia64.h: Treat ar.pfs live before sibcall.
Handle .jcr class registration section.
Exception handling patch (from Andrew Haley)
Add soft_return_address_pointer_rtx to keep flow analysis from
return address save register as dead before a call.
Fix signal handler frame layout to match recent kernels.
Fix (mostly) ia64 stack unwinding code:
sp was set to 16 bytes off correct value.
sp and psp were switched.
Known remaining problems (may be fixed since 8/8 or so when I last updated):
- Throwing exceptions leaks memory, in the same sense that the Titanic
leaked water. On the UCSD benchmark, which throws 1000000 exceptions in a
row, it goes through 2GB in something like 10 sec.
- Occasional SEGV around low.c:5724 with a null PREV_INSN(insn) and prev.
Occurs at -O1 and higher in some code. The offending instruction appears to
- The previously reported problem at line 9516 in fixup_abnormal_edges.
Seems to happen only at -O0. (Unfortunately that means there is at least
one file in SPECjbb which fails at all optimization levels.)