|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
SF.net SVN: jikesrvm:[15687] rvmroot/trunkRevision: 15687
http://jikesrvm.svn.sourceforge.net/jikesrvm/?rev=15687&view=rev Author: dgrove-oss Date: 2009-05-08 12:32:26 +0000 (Fri, 08 May 2009) Log Message: ----------- RVM-712 : Fix missing case in RVMMethod.isUninterruptible that was resulting in incorrect computation of uninterruptibility for methods of Uninterruptible classes that were annotated as UnpreemptibleNoWarn. Also fix half a dozen violations that had been missed because the checking was incomplete. Modified Paths: -------------- rvmroot/trunk/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ReferenceProcessor.java rvmroot/trunk/rvm/src/org/jikesrvm/VM.java rvmroot/trunk/rvm/src/org/jikesrvm/classloader/RVMMethod.java rvmroot/trunk/rvm/src/org/jikesrvm/scheduler/Lock.java rvmroot/trunk/rvm/src-generated/options/Options.template 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-08 06:47:00 UTC (rev 15686) +++ rvmroot/trunk/MMTk/ext/vm/jikesrvm/org/jikesrvm/mm/mmtk/ReferenceProcessor.java 2009-05-08 12:32:26 UTC (rev 15687) @@ -384,7 +384,7 @@ * be the address of a heap object, depending on the VM. * @param trace the thread local trace element. */ - @UnpreemptibleNoWarn("Call out to ReferenceQueue API") + @UninterruptibleNoWarn("Call out to ReferenceQueue API") public ObjectReference processReference(TraceLocal trace, ObjectReference reference) { if (VM.VerifyAssertions) VM._assert(!reference.isNull()); Modified: rvmroot/trunk/rvm/src/org/jikesrvm/VM.java =================================================================== --- rvmroot/trunk/rvm/src/org/jikesrvm/VM.java 2009-05-08 06:47:00 UTC (rev 15686) +++ rvmroot/trunk/rvm/src/org/jikesrvm/VM.java 2009-05-08 12:32:26 UTC (rev 15687) @@ -2317,7 +2317,7 @@ * @param value value to pass to host o/s */ @NoInline - @UnpreemptibleNoWarn("We need to do preemptible operations but are accessed from unpreemptible code") + @UninterruptibleNoWarn("We're never returning to the caller, so even though this code is preemptible it is safe to call from any context") public static void sysExit(int value) { handlePossibleRecursiveCallToSysExit(); Modified: rvmroot/trunk/rvm/src/org/jikesrvm/classloader/RVMMethod.java =================================================================== --- rvmroot/trunk/rvm/src/org/jikesrvm/classloader/RVMMethod.java 2009-05-08 06:47:00 UTC (rev 15686) +++ rvmroot/trunk/rvm/src/org/jikesrvm/classloader/RVMMethod.java 2009-05-08 12:32:26 UTC (rev 15687) @@ -619,6 +619,7 @@ if (hasInterruptibleAnnotation()) return false; if (hasPreemptibleAnnotation()) return false; if (hasUnpreemptibleAnnotation()) return false; + if (hasUnpreemptibleNoWarnAnnotation()) return false; if (hasUninterruptibleAnnotation()) return true; if (hasUninterruptibleNoWarnAnnotation()) return true; return getDeclaringClass().hasUninterruptibleAnnotation(); Modified: rvmroot/trunk/rvm/src/org/jikesrvm/scheduler/Lock.java =================================================================== --- rvmroot/trunk/rvm/src/org/jikesrvm/scheduler/Lock.java 2009-05-08 06:47:00 UTC (rev 15686) +++ rvmroot/trunk/rvm/src/org/jikesrvm/scheduler/Lock.java 2009-05-08 12:32:26 UTC (rev 15687) @@ -266,6 +266,7 @@ * * @param o the object to be unlocked */ + @Unpreemptible public void unlockHeavy(Object o) { boolean deflated = false; mutex.lock(); // Note: thread switching is not allowed while mutex is held. Modified: rvmroot/trunk/rvm/src-generated/options/Options.template =================================================================== --- rvmroot/trunk/rvm/src-generated/options/Options.template 2009-05-08 06:47:00 UTC (rev 15686) +++ rvmroot/trunk/rvm/src-generated/options/Options.template 2009-05-08 12:32:26 UTC (rev 15687) @@ -185,6 +185,7 @@ } // Print a short description of every option + @Interruptible public static void printHelp() { VM.sysWrite("Commands\n"); @@ -243,6 +244,7 @@ } // print the options values + @Interruptible public static void printOptions() { VM.sysWrite("Current value of VM options:\n"); //Begin generated option value printing 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 |
| Free embeddable forum powered by Nabble | Forum Help |