compiler/4998314/Test.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File closed Sdiff compiler/4998314

compiler/4998314/Test.java

Print this page


   1 /*
   2  * @test
   3  * @key cte_test
   4  * @bug 4998314
   5  * @summary compute_compiled_exc_handler() called with pending exception
   6  *          Fixed in JDK1.4.2_05 Respin b02
   7  * @compile Test.java
   8  * @run shell/timeout=240 Test4998313.sh
   9 */
  10 
  11 public class Test extends Thread {
  12 
  13     void foo(String x) {
  14         try { x.toString(); }
  15         catch (Exception ee) { }
  16         catch (ThreadDeath td) { System.out.println("THREAD DEATH!!!"); }
  17     }
  18 
  19     void test() {
  20         for (int i=0; i<10000; i++) foo((i%100 == 0)? "" : null);
  21     }
  22 
  23     public static void main(String[] args) throws InterruptedException {
  24         Test t = new Test();
  25         t.start();
  26         Thread thisThread = Thread.currentThread();
  27         thisThread.sleep(20000); // 20 sec
  28         for (int i=0; i<100; i++) {
  29             System.out.println("KILL THREAD!");
  30             t.stop();
  31         }
  32         System.exit(0);
  33     }
  34 
  35     public void run() {
  36         for (int i=0; i<200000; i++) test();
  37     }
  38 }
   1 /*
   2  * @test
   3  * @key cte_test
   4  * @bug 4998314
   5  * @summary compute_compiled_exc_handler() called with pending exception
   6  *          Fixed in JDK1.4.2_05 Respin b02
   7  * @compile Test.java
   8  * @run main/othervm/timeout=240 -XX:-Inline -XX:CompileOnly=Test Test
   9 */
  10 
  11 public class Test extends Thread {
  12 
  13     void foo(String x) {
  14         try { x.toString(); }
  15         catch (Exception ee) { }
  16         catch (ThreadDeath td) { System.out.println("THREAD DEATH!!!"); }
  17     }
  18 
  19     void test() {
  20         for (int i=0; i<10000; i++) foo((i%100 == 0)? "" : null);
  21     }
  22 
  23     public static void main(String[] args) throws InterruptedException {
  24         Test t = new Test();
  25         t.start();
  26         Thread thisThread = Thread.currentThread();
  27         thisThread.sleep(20000); // 20 sec
  28         for (int i=0; i<100; i++) {
  29             System.out.println("KILL THREAD!");
  30             t.stop();
  31         }
  32         System.exit(95); // TEST PASS
  33     }
  34 
  35     public void run() {
  36         for (int i=0; i<200000; i++) test();
  37     }
  38 }
compiler/4998314/Test.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File