From: <dgr...@us...> - 2009-10-22 15:43:17
|
Revision: 11581 http://x10.svn.sourceforge.net/x10/?rev=11581&view=rev Author: dgrove-oss Date: 2009-10-22 15:43:10 +0000 (Thu, 22 Oct 2009) Log Message: ----------- XTENLANG-429 WIP : values to classes Modified Paths: -------------- trunk/x10.runtime/src-x10/x10/array/BaseArray.x10 trunk/x10.runtime/src-x10/x10/array/BaseRegion.x10 trunk/x10.runtime/src-x10/x10/lang/Future.x10 trunk/x10.runtime/src-x10/x10/lang/Math.x10 trunk/x10.runtime/src-x10/x10/lang/Runtime.x10 trunk/x10.runtime/src-x10/x10/lang/_.x10 trunk/x10.runtime/src-x10/x10/runtime/Future_c.x10 trunk/x10.runtime/src-x10/x10/runtime/NativeRuntime.x10 Modified: trunk/x10.runtime/src-x10/x10/array/BaseArray.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/array/BaseArray.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/array/BaseArray.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -267,7 +267,7 @@ /** * for now since we only have RectLayouts we hard-code that here - * for efficiency, since RectLayout is a final value class. + * for efficiency, since RectLayout is a final class. * * if/when we have other layouts, this might need to be a generic * type parameter, i.e. BaseArray[T,L] where L is a layout class Modified: trunk/x10.runtime/src-x10/x10/array/BaseRegion.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/array/BaseRegion.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/array/BaseRegion.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -243,10 +243,10 @@ // around issue with virtual method calls in constructor (XTENLANG-198) // -value class Cache { +class Cache { - val boundingBox: Box[Region]; - val boundingBoxException: Box[RuntimeException]; + global val boundingBox: Box[Region]; + global val boundingBoxException: Box[RuntimeException]; def this(r:BaseRegion, hack198:boolean) { var boundingBox: Box[Region] = null; @@ -261,7 +261,7 @@ this.boundingBoxException = boundingBoxException; } - def boundingBox(): Region { + global def boundingBox(): Region { if (boundingBoxException!=null) { val e: RuntimeException = at (boundingBoxException.location) Modified: trunk/x10.runtime/src-x10/x10/lang/Future.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/lang/Future.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/lang/Future.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -13,14 +13,14 @@ * @author Christoph von Praun * @author tardieu */ -public abstract value Future[T] implements ()=>T { +public abstract class Future[T] implements ()=>T { /** * Wait for the completion of this activity and return the computed value. */ - public abstract def force(): T; + public abstract global def force(): T; /** * Return true if this activity has completed. */ - public abstract def forced(): boolean; + public abstract global def forced(): boolean; } Modified: trunk/x10.runtime/src-x10/x10/lang/Math.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/lang/Math.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/lang/Math.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -10,7 +10,7 @@ import x10.compiler.Native; -public final value Math { +public final class Math { public const E = 2.718281828459045D; public const PI = 3.141592653589793D; Modified: trunk/x10.runtime/src-x10/x10/lang/Runtime.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/lang/Runtime.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/lang/Runtime.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -11,18 +11,19 @@ /** * @author tardieu */ -public value Runtime { - /** - * Sleep for the specified number of milliseconds. - * [IP] NOTE: Unlike Java, x10 sleep() simply exits when interrupted. - * @param millis the number of milliseconds to sleep - * @return true if completed normally, false if interrupted - */ - public static def sleep(millis: long): boolean { - return x10.runtime.Runtime.sleep(millis); - } +public class Runtime { + /** + * Sleep for the specified number of milliseconds. + * [IP] NOTE: Unlike Java, x10 sleep() simply exits when interrupted. + * @param millis the number of milliseconds to sleep + * @return true if completed normally, false if interrupted + */ + public static def sleep(millis: long): boolean { + return x10.runtime.Runtime.sleep(millis); + } + public static def setExitCode(code: int): void { - x10.runtime.NativeRuntime.setExitCode(code); + x10.runtime.NativeRuntime.setExitCode(code); } } Modified: trunk/x10.runtime/src-x10/x10/lang/_.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/lang/_.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/lang/_.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -1,7 +1,7 @@ package x10.lang; // Members of the class x10.lang._ are imported automatically. -public value _ { +public class _ { public static type void = Void; public static type boolean = Boolean; public static type byte = Byte; Modified: trunk/x10.runtime/src-x10/x10/runtime/Future_c.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/runtime/Future_c.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/runtime/Future_c.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -14,57 +14,57 @@ * The representation of an X10 future expression. * @author tardieu */ -public value Future_c[T] extends Future[T] { +public class Future_c[T] extends Future[T] { /** * Latch for signaling and wait */ - private val latch = new Latch(); + private global val latch = new Latch(); /** * Set if the activity terminated with an exception. * Can only be of type Error or RuntimeException */ - private val exception = new GrowableRail[Throwable](); - - private val result:GrowableRail[T]; - - private val eval:()=>T; - - public def this(eval:()=>T) { - this.eval = eval; - result = new GrowableRail[T](); - } + private global val exception = new GrowableRail[Throwable](); + + private global val result:GrowableRail[T]; + + private global val eval:()=>T; + + public def this(eval:()=>T) { + this.eval = eval; + result = new GrowableRail[T](); + } - private def result()= result as GrowableRail[T]!; - public def forced():boolean = at (latch.location) latch(); + private global def result()= result as GrowableRail[T]!; + public global def forced():boolean = at (latch.location) latch(); - public def apply():T = force(); + public global def apply():T = force(); - public def force():T { - return at (latch.location) { - latch.await(); - if (exception.length() > 0) { - val e = exception(0); - if (e instanceof Error) - throw e as Error; - if (e instanceof RuntimeException) - throw e as RuntimeException; - assert false; - } - result()(0) - }; + public global def force():T { + return at (latch.location) { + latch.await(); + if (exception.length() > 0) { + val e = exception(0); + if (e instanceof Error) + throw e as Error; + if (e instanceof RuntimeException) + throw e as RuntimeException; + assert false; + } + result()(0) + }; } - def run():Void { - try { - finish result().add(eval()); - latch.release(); + global def run():Void { + try { + finish result().add(eval()); + latch.release(); } catch (t:Throwable) { exception.add(t); - latch.release(); + latch.release(); } - } - + } + // [DC] The correct thing to do here is pull the name from the closure - //public def toString():String = name; + //public global def toString():String = name; } Modified: trunk/x10.runtime/src-x10/x10/runtime/NativeRuntime.x10 =================================================================== --- trunk/x10.runtime/src-x10/x10/runtime/NativeRuntime.x10 2009-10-22 15:17:22 UTC (rev 11580) +++ trunk/x10.runtime/src-x10/x10/runtime/NativeRuntime.x10 2009-10-22 15:43:10 UTC (rev 11581) @@ -14,8 +14,7 @@ * Interface with native runtime * @author tardieu */ -//@NativeRep("java", "x10.runtime.impl.java.Runtime", null, null) -public value NativeRuntime { +public class NativeRuntime { @Native("java", "System.out.println(#1)") @Native("c++", "x10aux::system_utils::println((#1)->toString()->c_str())") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |