> > 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]

Reply via email to