« Return to Thread: SF.net SVN: jikesrvm:[15686] rvmroot/trunk

SF.net SVN: jikesrvm:[15686] rvmroot/trunk

by pizlo :: Rate this Message:

Reply to Author | View in Thread

Revision: 15686
          http://jikesrvm.svn.sourceforge.net/jikesrvm/?rev=15686&view=rev
Author:   pizlo
Date:     2009-05-08 06:47:00 +0000 (Fri, 08 May 2009)

Log Message:
-----------
Fix Harmony, I think

Modified Paths:
--------------
    rvmroot/trunk/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ReferenceProcessor.java
    rvmroot/trunk/libraryInterface/Common/src/java/lang/ref/Reference.java
    rvmroot/trunk/libraryInterface/Harmony/ASF/src/java/lang/ref/ReferenceQueue.java
    rvmroot/trunk/rvm/src/Dummy.java

Modified: rvmroot/trunk/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ReferenceProcessor.java
===================================================================
--- rvmroot/trunk/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ReferenceProcessor.java 2009-05-07 22:40:00 UTC (rev 15685)
+++ rvmroot/trunk/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ReferenceProcessor.java 2009-05-08 06:47:00 UTC (rev 15686)
@@ -342,7 +342,7 @@
   @Unpreemptible
   public boolean enqueueReference(ObjectReference addr) {
     Reference<?> reference = (Reference<?>)addr.toObject();
-    return reference.enqueue();
+    return reference.enqueueInternal();
   }
 
   /**

Modified: rvmroot/trunk/libraryInterface/Common/src/java/lang/ref/Reference.java
===================================================================
--- rvmroot/trunk/libraryInterface/Common/src/java/lang/ref/Reference.java 2009-05-07 22:40:00 UTC (rev 15685)
+++ rvmroot/trunk/libraryInterface/Common/src/java/lang/ref/Reference.java 2009-05-08 06:47:00 UTC (rev 15686)
@@ -17,7 +17,6 @@
 import org.jikesrvm.runtime.Magic;
 import org.vmmagic.pragma.Inline;
 import org.vmmagic.pragma.Uninterruptible;
-import org.vmmagic.pragma.UnpreemptibleNoWarn;
 import org.vmmagic.unboxed.Address;
 
 /**
@@ -109,7 +108,6 @@
    * that users might find confusing. We think the problem is actually
    * not a 'real' problem...
    */
-  @UnpreemptibleNoWarn("Call out to ReferenceQueue API")
   public boolean enqueue() {
     if (nextOnQueue == null && queue != null) {
       queue.enqueue(this);
@@ -119,6 +117,16 @@
     return false;
   }
 
+  @Uninterruptible
+  public boolean enqueueInternal() {
+    if (nextOnQueue == null && queue != null) {
+      queue.enqueueInternal(this);
+      queue = null;
+      return true;
+    }
+    return false;
+  }
+
   // TODO: Harmony
   void dequeue() {
     return;

Modified: rvmroot/trunk/libraryInterface/Harmony/ASF/src/java/lang/ref/ReferenceQueue.java
===================================================================
--- rvmroot/trunk/libraryInterface/Harmony/ASF/src/java/lang/ref/ReferenceQueue.java 2009-05-07 22:40:00 UTC (rev 15685)
+++ rvmroot/trunk/libraryInterface/Harmony/ASF/src/java/lang/ref/ReferenceQueue.java 2009-05-08 06:47:00 UTC (rev 15686)
@@ -21,6 +21,8 @@
 
 package java.lang.ref;
 
+import org.vmmagic.pragma.UninterruptibleNoWarn;
+
 /**
  * @com.intel.drl.spec_ref
  */
@@ -78,4 +80,9 @@
         notify();
         return true;
     }
+    
+    @UninterruptibleNoWarn("This is a lie")
+    boolean enqueueInternal(Reference<? extends T> ref) {
+        return enqueue(ref);
+    }
 }

Modified: rvmroot/trunk/rvm/src/Dummy.java
===================================================================
--- rvmroot/trunk/rvm/src/Dummy.java 2009-05-07 22:40:00 UTC (rev 15685)
+++ rvmroot/trunk/rvm/src/Dummy.java 2009-05-08 06:47:00 UTC (rev 15686)
@@ -39,4 +39,5 @@
   static org.vmmagic.unboxed.WordArray x;
   static org.vmmagic.unboxed.OffsetArray y;
   static org.vmmagic.unboxed.ExtentArray z;
+  static org.jikesrvm.scheduler.LightMonitor zz;
 }


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Jikesrvm-commits mailing list
Jikesrvm-commits@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-commits

 « Return to Thread: SF.net SVN: jikesrvm:[15686] rvmroot/trunk