Backed out changeset ecf451e74e7e
authorStefan Ring <stefan@complang.tuwien.ac.at>
Wed, 30 Apr 2008 18:38:07 +0000 (20:38 +0200)
committerStefan Ring <stefan@complang.tuwien.ac.at>
Wed, 30 Apr 2008 18:38:07 +0000 (20:38 +0200)
src/vm/jit/i386/machine-instr.h
src/vmcore/linker.c
tests/threads/threadInterrupt.java
tests/threads/waitAndInterrupt.java

index eb3706400b12dc4d862508887838a0737718e161..1499e961fffae64cf15b5e6646eaee7f8c6e586f 100644 (file)
@@ -16,6 +16,6 @@ compare_and_swap (volatile long *p, long oldval, long newval)
 #define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
 #define MEMORY_BARRIER_AFTER_ATOMIC() /* nothing */
 #define MEMORY_BARRIER() __asm__ __volatile__ ( \
-               "mfence" : : : "memory" );
+               "lock; add $0, 0(%%esp)" : : : "memory" );
 
 #endif
index 3468558c9aafb8c3e109ca06536955c6028e45c9..e8b985aad4891065d335bea85195f6081964781d 100644 (file)
@@ -1214,7 +1214,6 @@ static void linker_compute_class_values(classinfo *c)
 {
        classinfo *subs;
 
-       /*printf("computing class %s\n", c->name->text);*/
        c->vftbl->baseval = ++classvalue;
 
        subs = c->sub;
index cbff1131798d5c6163776b979c34f04e7e1f6d9c..ef4108379a40ca8429d533fbe9c37a07ad0b1e53 100644 (file)
@@ -1,10 +1,3 @@
-// This test has been added because of a bug in CACAO that allowed threads
-// blocked inside monitorenter to be interrupted. In the presence of the bug,
-// the program would not exit.
-//
-// The bug has been fixed as part of the sable lock implementation.
-// hg revision 2988182011bb ff (Wed Feb 06 18:46:34 2008 +0100)
-
 public class threadInterrupt {
        public static class firstthread implements Runnable {
                private threadInterrupt s;
index 6a1ac0bdeb7632a64d21e4ecb8a2cbaca5a2aa7e..2f68b7558923f978d2fb58c1ad905cc61e7379f7 100644 (file)
@@ -1,6 +1,3 @@
-// This should run forever. If it stops, that's a good indication for a bug in
-// the VM.
-//
 // This test grew a bit more elaborate than anticipated...
 // It verifies that the JVM handles properly the case of a thread being
 // interrupted and notified at the same time.