purpose of this test.
* tests/threads/waitAndInterrupt.java: Likewise.
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
#define MEMORY_BARRIER_AFTER_ATOMIC() /* nothing */
#define MEMORY_BARRIER() __asm__ __volatile__ ( \
- "lock; add $0, 0(%%esp)" : : : "memory" );
+ "mfence" : : : "memory" );
#endif
{
classinfo *subs;
+ /*printf("computing class %s\n", c->name->text);*/
c->vftbl->baseval = ++classvalue;
subs = c->sub;
+// 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;
+// 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.