JunC++ion v3.2

JunC++ion Release 3.1   |  JunC++ion Release 4.0

Release Focus

This release contains mostly bugfixes, portability enhancements (Solaris port), and the introduction of some limited STL-related functionality.

In this release, the Shared JVM is working very well with the exception of callbacks (which were intentionally deferred).

Callback support for concrete types has been added as an optionally enabled feature to prevent problems for customers with pre-existing modelfiles.

Change history

As of 2010, JunC++ion is available in a 3.3 version and work on a 4.0 version is in progress. The new major version will offer significant usability and performance benefits but put a stronger requirements on the C++ compiler, mostly in the area of template conformance. Version 4.0 won't support some of the older C++ compilers our customers need to support, therefore both major versions will be supported until the old C++ compilers become irrelevant.

Version Module Issue
3.2.18 Code generator & Runtime #783     Callback performance for common callback cases significantly improved.
Code generator #779     Callback generation for inner interfaces fails with exception.
3.2.14-17 n/a only .NET related changes
3.2.13 Runtime #774     ACE symbols on Linux have been localized in runtime library, thereby preventing runtime conflicts with
C++ applications that use ACE themselves.
Runtime (Shared JVM) #772     Wide characters >127 were broken when running with shared JVM.
Code generator & Runtime #770    Support for callbacks on class types (not just interface types). Enabled in code generator by running with -ccbs option or by passing -Dcom.codemesh.xmog.supportsClassCallbacks
3.2.12 Code generator #764     Added export to list of escaped names.
ANT tasks #763     Sorting algorithm of modelfile subelements is broken.
ANT tasks #762     Changed default boolean value of <callback> and <rmicallback> modelfile elements from false to true.
Code generator and Runtime #761     Portability-related changes for HP's aCC compiler.
Runtime #760     Potential deadlock in Shared JVM C++ client layer in case of multithreaded clients.
Code generator #759     Callbacks don't generate correctly if there's a non-generating abstract method in the callback type's inheritance hierarchy.
Code generator #758     Callbacks don't generate correctly if there's a duplicate callback method of the same name and signature in the callback type's inheritance hierarchy.
3.2.11 Code generator #757     Callbacks now expose public xmog_disable() method to support safe callback shutdown (enhancement for #722).
Code generator #756     Saved model does not open when array type was imported from classpath (regression due to work on regular expression imports).
Code generator #755     Support fields for proxy methods can have name clash with proxy API (Java 3D contains a field called m22).
3.2.10 Code generator #753     Guarded generateField() model facade method against absence of class which declares field.
Runtime #752     Made xmog_java_ref constructor explicit to prevent unintended conversion during erroneous use of NULL instead of null
Code generator #751     Types with methods that have arguments of type "array of inner class" don't compile if the inner class type is not also otherwise used.
Code generator and Runtime #750     String instances do not cache character pointers by default.
3.2.9 Code generator #748     Solaris port required changes to files. included by generated .cpp files; Sun Workshop conditionalized.
3.2.6 - 3.2.8 n/a only .NET related changes
3.2.5 Runtime #745  dyna_cast() leaks reference when used on callback argument.
ANT tasks #739      MSVC++6 compiler task does not handle spaces in path names correctly.
3.2.4 Runtime #736      getLoaderResult() returns failure when JVM is already preloaded. Not a regression on #704, but related.
3.2.3 Code generator #735      lack of control over -target in javac invocation.
Runtime #734      race condition in first time callback initialization.
3.2.2 Code generator #733      Solaris port. Changes to satisfy Sun Workshop compiler.
Code generator #732      command line options are not parsed correctly on Unix.
Code generator #731     generated makefile improvements or Unix platforms.
Code generator #728     long API documentation contains duplicate of short documentation.
3.2.1 Runtime #727     signature of xmog_java_values causes excessive warnings using Sun Workshop compiler.
Runtime #726      XMOG_REMOTE=false in environment incorrectly enables remote mode.
Code generator #725      Strange log messages from code generator in command line mode.
Runtime #724      trace() method does not flush stream after writing to trace file.
3.2.0 Code generator & Runtime #722      callbacks might not be safe to use under all circumstances. There are some usage patterns where you cannot reliably control the lifecycle of the callback instance and in these cases, callbacks might be in process while part of the infrastructure is being destroyed.
Code generator & runtime #717     Java collection types are not STL iterable.
Code generator #716     placement new operator does not compile with all compilers.
Runtime #711     Java to C string marshalling performance improved.

JunC++ion Release 3.1

Copyright 2006-2015 by Codemesh, Inc., ALL RIGHTS RESERVED

release 3.2
home products support customers partners newsroom about us contact us