This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa][java] fix some -O3 test cases
- From: Jeff Sturm <jsturm at one-point dot com>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: gcc-patches at gcc dot gnu dot org, <java-patches at gcc dot gnu dot org>
- Date: Wed, 3 Dec 2003 09:19:23 -0500 (EST)
- Subject: Re: [tree-ssa][java] fix some -O3 test cases
On Mon, 1 Dec 2003, Richard Henderson wrote:
> -FAIL: TLtest -O3 compilation from source
> -FAIL: anfi -O3 compilation from source
> -FAIL: anon -O3 compilation from source
> -FAIL: anon2 -O3 compilation from source
> -FAIL: anon3 -O3 compilation from source
> -FAIL: anon4 -O3 compilation from source
> -FAIL: anon_ctor_itf_arg -O3 compilation from source
>
> All of these failures were for missing symbols.
Oddly enough, these didn't fail before 11-21. I agree with your
assessment, but I'm still curious why this just started breaking then.
> It looks like this same fix may be required on mainline, but I don't
> know why these tests aren't failing there. Would someone Java savvy
> please look into this?
Originally I had it the other way around on mainline too. The problem
there was that the class data isn't complete until all functions are
expanded. In particular, expanding NEW_ARRAY_INIT can add entries to the
constant pool.
Regrettably, the current situation is the result of a bit of
trial-and-error. In hindsight all this cgraph stuff would've been easier
if we'd just lowered NEW_ARRAY_INIT earlier. If you think it's important
enough on mainline I can pursue it. My suspicion is that the hook that
forces an out-of-line copy of every method to be emitted is masking the
problem, though that won't prevent changing the calling conventions as you
say.
Jeff