We're very happy to announce that X10 and X10DT 2.2.1 are now available for download! To download the release, please see the X10 2.2.1 release page at http://x10-lang.org/software/download-x10/release-list/322-x10-release-221.html
The release notes for version 2.2.1 are appended. Release 2.2.1 MAJOR CHANGES No major changes have been made to the language specification in this release. The following major changes have been made to the implementation and the class libraries. The + and - operators were removed from the IntRange class and replaced by a translate method. The motivation for this API change was to avoid a common programming mistake: for (i in 0..n-1) { ... } In the loop above, i actually ranges from -1 to n-1 because .. has higher precedence than - (to support concise region products like 0..n*0..n). In 2.2.1 this loop will be flagged as a compile time error; write it as: for (i in 0..(n-1)) { ... } Managed X10 now uses Java built-in primitives to implement unsigned X10 structs (UInt, ULong, etc). This significantly improves the performance of unsigned types with Managed X10. We have implemented a new custom serialization protocol for Managed X10, resulting in significant performance improvements for multi-place programs on Managed X10. The built-in numeric structs (Int, ULong, Double, etc) now implement the interfaces, Arithmetic, Bitwise and Ordered (as appropriate). This enables writing generic code over types that implement common operations such as +, *, <=, etc. Please consult the language specification for the details of any minor language changes and specification clarifications made in this release. LIMITATIONS OF THIS RELEASE The following features described in the 2.2.1 language manual do not currently work and will be fixed in the subsequent releases: - Non-static type definitions as class or interface members (static type defs do work) The constraint solver used by X10 typechecker is known to be incomplete for situations in which a constraint implies an infinite number of distinct constraints. Additionally, the following features described in the language manual do not currently work with the C++ backend and will be fixed in the subsequent releases: - Garbage collection on AIX - Non-final generic instance methods - Exception stack traces on Cygwin As in previous releases, the X10 runtime uses a "busy wait" loop in the worker threads that execute asyncs. A consequence of this is that even if a place has no asyncs to execute, it will still consume CPU cycles busy waiting for new asyncs to be created. See XTENLANG-1012 for more details. The generated C++ code requires g++ 4.2 or better to be compiled; we do almost all of our testing against g++ 4.3.2. On AIX, you may either use g++ 4.2 or better or xlC 10.1.0.4 or better. SUMMARY OF ISSUES RESOLVED IN THIS RELEASE Below is a summary of JIRA issues addressed for the X10 2.2.1 ** New Features and Improvements * [XTENLANG-1006] - CUDA: no functions * [XTENLANG-1560] - constant propagator should propagate closure literals * [XTENLANG-1703] - Support "operator#(...)" syntax for invoking operators * [XTENLANG-2075] - Primitives should implement Arithmetic, Bitwise, Ordered * [XTENLANG-2130] - Enable constant folding for unsigned numeric operations * [XTENLANG-2419] - Performance of Array.reduce() * [XTENLANG-2675] - Enable constant propagation of NullLit * [XTENLANG-2679] - Reenable mapping unsigned types to Java primitives * [XTENLANG-2787] - x10::lang::Place::_make is not inlined * [XTENLANG-2791] - Use direct copy rather than memcpy for serialization on little-endian platforms * [XTENLANG-2792] - Bulk serialization of IndexedMemoryChunk[T] where T is primitive * [XTENLANG-2794] - Array.clear() * [XTENLANG-2797] - Char should implement Ordered * [XTENLANG-2798] - Implement caching boxed values in Java backend * [XTENLANG-2799] - Enable operator inlining and privatization for unsigned types in Java backend * [XTENLANG-2805] - Faster comparison against null * [XTENLANG-2813] - Remove obsolete IORuntimeException * [XTENLANG-2818] - Support for non-virtual instance calls in Managed X10 * [XTENLANG-2821] - Inline GrowableIndexedMemoryChunk.apply(int) for better performance of ArrayList.apply(int) * [XTENLANG-2829] - Use fast native implementations of Math.abs * [XTENLANG-2847] - Allow the compiler to be canceled * [XTENLANG-2859] - ClassCastException in ParsedName for handling method selector * [XTENLANG-2883] - DistArray.getLocalPortion() * [XTENLANG-2920] - X10DT: progress view shows "Remote Compilation" when compiling on localhost ** Bug * [XTENLANG-1938] - Expressions should be allowed as statements (ie allow expr; ) * [XTENLANG-1990] - Describe rt options in spec * [XTENLANG-2016] - DYNAMIC_CALLS doesn't report an inserted check (and STATIC_CALLS fails with an error) * [XTENLANG-2293] - unreachable catch blocks * [XTENLANG-2300] - gcc compilation error "multiple definition of closure" for a closure in a inlinable method * [XTENLANG-2376] - Runtime checking a constructor guard for a constructor call (super/this) * [XTENLANG-2663] - Integer_ConstraintWithVariable generates incorrect code with optimization * [XTENLANG-2680] - Override and implement virtual and interface method with @Native is broken in Java backend * [XTENLANG-2686] - Stop converting unknown Java exception to x10 * [XTENLANG-2712] - Dynamic casts not generated for new expressions on macro-types. * [XTENLANG-2729] - Should (1.0 as Any as Int) succeed or fail? Interactions between upcasts and "user-defined" conversions * [XTENLANG-2739] - LangSpec example using UInt causes post-compilation error on Java back end (Structs30) * [XTENLANG-2745] - Unreachable catch block for Exception is not detected. * [XTENLANG-2751] - Code cleanup pass causes post-compilation error * [XTENLANG-2752] - Coercion of constant to unsigned type causes InternalCompilerError * [XTENLANG-2755] - java backend post compilation errors on DYNAMIC_CHECKS * [XTENLANG-2756] - Dispatcher for super interface method not generated in Java backend * [XTENLANG-2757] - Using local variable in type constraint in async breaks postcompilatoin * [XTENLANG-2760] - Unsigned types get lost when stored in constraints * [XTENLANG-2762] - Another ClosureRemover bug in Java backend (AsyncTest2) * [XTENLANG-2765] - Octal literals are not checked for well-formedness * [XTENLANG-2767] - Java backend code generation problem in Issues/XTENLANG_2330.x10 * [XTENLANG-2768] - Struct with IndexedMemoryChunk field suffers corruption by GC due to containsPtrs==false * [XTENLANG-2770] - Test case fails the wrong way * [XTENLANG-2771] - Compiler erroneously permits var locals to be used in constraints (DepTypeInMethodRet1_MustFailCompile) * [XTENLANG-2772] - Preserve type of IntLit for narrower than Int in Java backend * [XTENLANG-2773] - Missing boxing of String in Java backend (Expressions3e9h) * [XTENLANG-2774] - inlining causes non-generic closure declaration to get generated after the call to it in a generic method in the C++ backend * [XTENLANG-2776] - Spec's example in "Limitation: Runtime Constraint Erasure" should be auto-checked * [XTENLANG-2777] - Need a warning on unsound casts, with -VERBOSE at least * [XTENLANG-2778] - Get rid of "Offers" clauses from the auto-imported grammar. * [XTENLANG-2780] - Post-compilation errors when creating an array of inner class type * [XTENLANG-2781] - spec needs to describe propagation in inferred types. * [XTENLANG-2783] - Stop propagating String literal to closure body (AtomicReferenceTest) * [XTENLANG-2784] - Preserve declared type for numeric values (Expressions1x7i) * [XTENLANG-2790] - Inliner fails to replace this in closure when inlining an instance method into a static method * [XTENLANG-2801] - C++ backend:optimizer:post compilation fails at element access on DistArray * [XTENLANG-2802] - Inliner issue when inlining non-generic method into generic method and c++ backend * [XTENLANG-2807] - no error when use 8 for Octal number * [XTENLANG-2809] - StringBuilder with null - SegFault * [XTENLANG-2812] - Post-compilation error for SeqMethodCall1.x10 * [XTENLANG-2814] - StringBuilder insert() with null - SegFault * [XTENLANG-2815] - Random: nextLong(): hangs with nextLong combination * [XTENLANG-2816] - javac error compiling GlobalRef.evalAtHome * [XTENLANG-2817] - Multi-place programs launched with the sockets X10RT implementation seem to hang on exit * [XTENLANG-2820] - x10.util.Vec not fully implemented? * [XTENLANG-2822] - C++ backend cast injector casting to wrong type in the inlined constructor. Instantiation problem? * [XTENLANG-2827] - ITable lookup failure * [XTENLANG-2828] - NativeClass problems with user-defined Java classes * [XTENLANG-2830] - Deserializer cause javac error for a class with a property * [XTENLANG-2832] - Return code lost (incorrectly 0 from aborting program) on multi-place (or single place, HOSTLIST set) program using x10rt_sockets * [XTENLANG-2834] - Bugs in GlobalRef Mortal object handling in Java back-end * [XTENLANG-2837] - anonymous class c++ backend NPE * [XTENLANG-2838] - Desugarer violates its postcondition * [XTENLANG-2839] - ClosureRemover Improvements * [XTENLANG-2840] - Post-compilation error for SPECjbb2005 * [XTENLANG-2841] - GlobalRefs causing exceptions in some JVMs * [XTENLANG-2842] - Eliminate + and - operators on IntRange to avoid commom programming mistake of writing 0..n-1 * [XTENLANG-2850] - native c++ Comparable itable thunks not quite standard * [XTENLANG-2854] - Incorrect container for compiler generated abstract method for each interface method implemented by an abstract class * [XTENLANG-2863] - String + void can give a Java error, not an X10 one. * [XTENLANG-2865] - var async capture broken in certain cases * [XTENLANG-2877] - Region.eliminate eliminates wrong dimension * [XTENLANG-2885] - First twist of Random.random() still not completely random * [XTENLANG-2890] - Post-compilation errors due to the lack of boxing primitives for closure arguments (Exceptions, ExceptionsRemote, FinishCrossMethodMultiAsync and M ultiAsyncs) * [XTENLANG-2891] - NullPointerException in the typechecker * [XTENLANG-2893] - java.lang.NullPointerException in desugarer (MatrixAddSubclass_MustFailCompile) * [XTENLANG-2895] - co/contra-variance of function type not correctly implemented in Java backend (ADA_005f) * [XTENLANG-2896] - X10DT: failure to compile code which compiles fine with x10c++ * [XTENLANG-2898] - booleans (and sometimes ints) lose their Boolean-ness when boxed and put in arrays in the Java back end * [XTENLANG-2906] - toronto testcase: PlaceLocalHandle.id overflow (ADA_039f) * [XTENLANG-2908] - X10DT: Can't rename newly created launch configuration * [XTENLANG-2909] - Closure inlining of generic closure constrained <: struct breaks Managed codegen * [XTENLANG-2914] - Assertion failure in constant propagator (XTENLANG_2330) * [XTENLANG-2919] - BlockBlockDist fails to cover for some combinations of Region / MAX_PLACES ** Task * [XTENLANG-2766] - Document static vs dynamic checking of numeric conversions For the details of JIRA issues fixed in this release, see http://jira.codehaus.org/browse/XTENLANG/fixforversion/17131 Please use the X10 JIRA to report bugs, after ensuring the problem is not already reported: http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&&pid=11812&resolution=-1 ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users