[fedora-java] Re: gcj trunk -> redhat/gcc-4_1-branch merge complete
Andrew Haley
aph at redhat.com
Fri Aug 25 12:33:46 UTC 2006
Andrew Haley writes:
> Andrew Haley writes:
> > Thomas Fitzsimmons writes:
> > > Hi,
> > >
> > > gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_1-branch-java-merge-20060823 now
> > > contains the trunk -> redhat/gcc-4_1-branch Java merge that I'd like to see go
> > > into FC6test3.
> > >
> > > libjava's "make check" passes except for the -O3 StackTrace2 tests:
> > >
> > > FAIL: StackTrace2 -O3 execution - source compiled test
> > > FAIL: StackTrace2 -O3 execution - bytecode->native test
> > >
> > > but these tests also failed on redhat/gcc-4_1-branch before my 2006-08-23 merge.
> > > Andrew, can you take a look at what's causing these failures?
> >
> > I'm having a lot of trouble duplicating this failure. You should give
> > me access to a box on which this test fails.
>
> Got it now.
>
> FAIL: StackTrace2 -O3 execution - source compiled test
> UNTESTED: StackTrace2 -O3 output - source compiled test
Forget it, it's a buggy testcase. In here:
public static void main(String[] args)
{
try
{
a();
}
catch (Exception x)
{
StackTraceElement[] trace = x.getStackTrace();
checkTrace(trace);
}
}
static void a()
{
new Inner();
}
a() gets inlined into main(), so the stacktrace is only three elements
in size:
[Ljava.lang.StackTraceElement;@2aaaae240f78
{
java.lang.StackTraceElement at 2aaaaab0b6c0
{
boolean isNative = false,
java.lang.String fileName = "StackTrace2.java",
java.lang.String methodName = "doCrash",
java.lang.String declaringClass = "StackTrace2$Inner",
int lineNumber = 33,
}, java.lang.StackTraceElement at 2aaaaab0b690
{
boolean isNative = false,
java.lang.String fileName = "StackTrace2.java",
java.lang.String methodName = "<init>",
java.lang.String declaringClass = "StackTrace2$Inner",
int lineNumber = 28,
}, java.lang.StackTraceElement at 2aaaaab0b660
{
boolean isNative = false,
java.lang.String fileName = "StackTrace2.java",
java.lang.String methodName = "main",
java.lang.String declaringClass = "StackTrace2",
int lineNumber = 21,
},
}
It's safe to inline methods within the same class -- they can't have
different protection domains, for example.
Andrew.
More information about the fedora-devel-java-list
mailing list