We're happy to announce that X10 version 2.0.3 is now available for
download. This release contains a number of bug fixes and improvements to
the code base.  For more details, please see  the X10 2.0.3 release page at
http://x10-lang.org/X10+2.0.3+Release.

A 2.0.3 release of X10DT is expected the middle of next week.

The X10 2.0.3 Release Notes are appended.

This release includes both the C++ and Java code generation backends.

The following significant language changes were made since the 2.0.2
release:

- To simplify the initial development of X10 programs, we have
  enhanced the compiler to automatically insert dynamic checks when it
  is unable to statically verify that type constraints of an invoked
  method are satisfied.  The most obvious manifestation of this
  feature is with place types, where the compiler will automatically
  insert a dynamic place check when a non-global method is being
  invoked on a receiver object that is not known statically to be in
  the current place.
  By default, the compiler will insert the dynamic checks and report a
  summary of the total number of such checks inserted in each file
  compiled.  Two command line arguments are available to modify this
  behavior:
    -VERBOSE_CALLS : verbose messages when dynamic checks are inserted

    -STATIC_CALLS : do not insert dynamic checks and instead treat
                    non-entailment as a compilation error
                    (the default behavior of X10 2.0.2).
  The intent is that programmers will initially develop with the
  default settings, but as the code matures, -VERBOSE_CALLS can be
  used to reduce the number of dynamic checks and in production-level
  code, -STATIC_CALLS can be used to take full advantage of the static
  type systems ability to verify static properties of the code.

- There have been significant design changes and performance
  improvements in the x10.array class library.
    -- Array, Dist, Region, and Point have all been moved into the
       x10.array package.
    -- The x10.array package is imported by default (same as
       x10.lang).
    -- We have separated single place and multi-place arrays.
       x10.array.Array is a local (single place) array.
       x10.array.DistArray is a distributed (multi-place) array.
    -- x10.array.Array is defined over a Region and no longer has a Dist.
    -- x10.array.DistArray continues to have a Dist.
    -- Enhancements to the compiler and to the structure of the Array
       implementation have significantly improved the performance of
       Array.
    -- We have removed some of the more complex Dist and Region
       operations.  In X10 2.0.4 (early June) we will be focusing on
       improving the performance of DistArray.  In X10 2.1.0 (late
       July) we will be bringing back higher performance versions of
       additional Dist and Region operations.

- We have enhanced the mechanisms used to integrate X10 code with
  native C/C++ libraries. Details can be found on this web page:
  http://x10-lang.org/NativeCodeIntegration. If you have code using
  the X10 2.0.2 @NativeRep annotation, you will need to add a
  @NativeCPPCompilationUnit annotation as well.

For details on these and other more minor changes, please consult the
language specification included in the X10 release.

The following features described in the 2.0 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)
- Type definitions as package members (i.e., in the outermost scope of
  a compilation unit)
- AST externalization to XML
- Shared local variables
- Extern methods

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
- Generic virtual methods
- Exception stack traces on Cygwin and AIX

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.01.0000.0004 or better.

Below is a summary of JIRA issues addressed for the X10 2.0.3 release.

Release Notes - X10 - Version X10 2.0.3

** New Features and Improvements
    * [XTENLANG-402] - Eliminate x10.array.FastArray;  we should be
striving to make x10.array.LocalArray just as fast...
    * [XTENLANG-582] - Improve type inference/conversion for ValRail
literal being used as Point through local variable
    * [XTENLANG-733] - Constraints need more explanation, about just what
is constrained.
    * [XTENLANG-905] - Reduce code space impact of Rail copyTo/from
templated functions
    * [XTENLANG-1018] - Create java backend specific scheduler
    * [XTENLANG-1113] - Avoid duplicate copy of sample programs in
x10.tests/examples/Misc
    * [XTENLANG-1143] - Reduce communication overhead of ateach
    * [XTENLANG-1163] - New forms-based build/launch configuration
mechanism
    * [XTENLANG-1179] - Generate struct methods into header files where
possible to enable inlining by g++ post-compiler

** Bug
    * [XTENLANG-215] - Accessing field of outer class in initializer of
inner class causes null pointer exception
    * [XTENLANG-242] - Object.className() gives different results in C++
    * [XTENLANG-336] - Overriding Throwable.printStackTrace(Printer) does
not work for Java backend
    * [XTENLANG-369] - Generate line number maps for C++ code
    * [XTENLANG-569] - placeCheck/nullCheck on expressions of generic type
when generic is instantiated on a struct
    * [XTENLANG-601] - class Parameters uses an instance of the class
ParameterReader which is in the very same package, but I get the error
message "Cannot find type ParameterReader".
    * [XTENLANG-621] - 'new' sometimes compiles for structs
    * [XTENLANG-708] - P && !P
    * [XTENLANG-709] - Constraint checker doesn't know |Boolean|==2
    * [XTENLANG-743] - "value parameters" != "val", right?
    * [XTENLANG-765] - (T):T or (T)=>T for function type?
    * [XTENLANG-772] - Misdescription of evaluation of a function literal
    * [XTENLANG-776] - "final"?
    * [XTENLANG-782] - Precisely specify what statements can be labelled.
    * [XTENLANG-785] - Case labels needn't *just* be Ints.
    * [XTENLANG-790] - Java mention in 13.5.1
    * [XTENLANG-814] - Manual should mention that some casts are illegal.
    * [XTENLANG-826] - Poor phrasing in 'foreach'
    * [XTENLANG-830] - Manual doesn't say whether or not futures are
allowed inside atomic sections
    * [XTENLANG-863] - "values as well as types?"
    * [XTENLANG-892] - Hitting the APGAS handler limit
    * [XTENLANG-909] - Update X10RT spec for recent changes
    * [XTENLANG-924] - Please document literals
    * [XTENLANG-941] -  Null pointer exception when launching X10 program
with C++ backend
    * [XTENLANG-947] - Persistence of X10 configuration parameters within
metadata not appropriate for check-out from a repository
    * [XTENLANG-949] - Closure has trouble accessing variables from
surrounding scopes
    * [XTENLANG-953] - New X10 Platform configuration for C++ back-end
fails validation on Mac OS X Leopard at link step
    * [XTENLANG-954] - "Configuration name" field in "New X10 Platform
Configuration" adds Return key to name
    * [XTENLANG-970] - Variable visibility rule not enforced -- enforce it
or abandon it.
    * [XTENLANG-972] - Typechecker doesn't seem to know that arg==arg
    * [XTENLANG-980] - Compiler doesn't understand negative type
constraints very well.
    * [XTENLANG-990] - Null pointer exception in X10DocProvider
    * [XTENLANG-1015] - X10DT: Cannot find classes in the same or other
package
    * [XTENLANG-1017] - Typechecker fails to reject program that uses an
"erased" generic type in instanceof/as operation
    * [XTENLANG-1021] - Long typechecker error message
    * [XTENLANG-1024] - Hyperlinking from a reference to the corresponding
declaration doesn't work
    * [XTENLANG-1053] - Type system is confused by constrained argument
    * [XTENLANG-1099] - Java backend: instanceof Object returns true for a
type parameter instantiated on a user-defined Struct
    * [XTENLANG-1105] - Grammar clarifications
    * [XTENLANG-1106] - Stackoverflow when initializing cyclic runtime
types in C+ backend
    * [XTENLANG-1114] - Rail.copyTo without finder with notifier does not
exist anymore (needed for LU)
    * [XTENLANG-1117] - Bad Java code generation for increment of byte
    * [XTENLANG-1119] - Method comments stripped away from some classes
    * [XTENLANG-1121] - ValRail literals of more than 6 non-primitive
elements not supported by C++ backend/runtime system.
    * [XTENLANG-1122] - Field comments not shown
    * [XTENLANG-1141] - Sending multiple copies of the same reference to
some place and back results in inconsistent received references
    * [XTENLANG-1145] - Coercion of a large floating-point number to a byte
gives -1, not the largest byte
    * [XTENLANG-1156] - Returning a numeric primitive from a method with
return type Any results in bad generated C++ code
    * [XTENLANG-1157] - Inline optimization broken: "Cannot refer to |this|
from the context"
    * [XTENLANG-1159] - Bad AST transfromation for local class remove
    * [XTENLANG-1161] - Hover help should show accurate type information,
etc. for all entities
    * [XTENLANG-1170] - creating a Stack of struct fails
    * [XTENLANG-1172] - Comparing a value of a generic parameter type with
null fails in the C++ backend when the generic is instantiated on a struct
    * [XTENLANG-1180] - Assertion error/NullPointerException attempting to
iterate over a non-iterable entity
    * [XTENLANG-1182] - Invalid C++ code generated for a place type cast in
a loop header
    * [XTENLANG-1186] - X10DT: editor sometimes draws a solid red line for
a compile error
    * [XTENLANG-1187] - X10DT: Font changes in the editor when restarting
the workbench
    * [XTENLANG-1208] - X10DT editor: ParseController does not behave
correctly
    * [XTENLANG-1209] - X10DT editor: Wrong icon displayed for a file with
a compilation error
    * [XTENLANG-1217] - Point.hashCode() not implemented
    * [XTENLANG-1237] - Place types not properly infered for val field with
initializers.
    * [XTENLANG-1255] - File.lines() should return a ReaderIterator
[String]!

For the details of JIRA issues fixed in this release, see
http://jira.codehaus.org/browse/XTENLANG/fixforversion/16215

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
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to