> > Is TYA headed for the great, big, bit bucket in the sky? :-(
>
> I very much doubt it. The JVM can run with multiple JITs, and TYA can
> run with multiple JVMs.
TYA surely isn't for the bit bucket. It is always nice to have an
option. Could you imagine that Sun's JIT has quite a few bugs TYA
has not? Well, here we go: the following is a list of 5 test programs
which expose bugs in Sun's JIT. TYA works well in all five cases. My
point is not to argue that TYA is better that Sun's JIT -- I guess it
has its own problems, it requires a lot more stack, and it is slower
in many cases. My point is just that it's nice to have an option.
To the porting team: the following examples are simplified versions of
code submitted to the Jitterbug DB. If you have not already done so
you may want to collect these for a regression test once Sun has fixed
them. Furthermore, I do not have access to a Solaris x86 machine so I
can't verify whether they are really Sun's bugs. Thus, I cannot submit
them to Sun. I guess you have already submitted them, but if you have
not done so, these would be quite nice bug-reports...
---JitBug1.java----------------------------------------------
// Will SIGABRT on assertion failure
class JitBug1 {
public static void main(String[] argv) {
for (int i = 0; i < 10; i++) {
long x1 = 0;
long x2 = x1;
}
}
}
---JitBug2.java----------------------------------------------
// Will print 0 instead of 1
public class JitBug2 {
static int n = 1;
public static void main(String[] args) {
int x = 0;
x += (n == 1) ? 1 : 0;
System.out.println("Should be 1: " + x);
}
}
---JitBug3.java----------------------------------------------
// Will cause StackOverflowError
public class JitBug3 {
public static void main(String[] args) {
for (int i = 0; i < 1000000; i++) {
JitBug3 o = new JitBug3();
}
}
}
---JitBug4.java----------------------------------------------
// Will SIGSEGV
public class JitBug4 {
public static void main (String args[]) {
for (;;) {
String s = "";
}
}
}
---JitBug5.java----------------------------------------------
// Will print false instead of true
class JitBug5 {
static long n = 1L;
public static void main(String[] argv) {
System.out.print("Should be true: ");
System.out.println(n >= 1);
}
}
-------------------------------------------------------------
CU,
Stefan
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]