Difference between revisions of "EiffelStudio 15.08 Releases"
m (Changed headers to list 15.08 instead of 15.05.) |
m (Manus moved page EiffelStudio 15.05 Releases to EiffelStudio 15.08 Releases: We renumbered the release) |
(No difference)
|
Revision as of 10:39, 27 August 2015
Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in green or in red (for breaking changes). The release notes of EiffelStudio can be found at the following URL. You can also download the latest revision here. Information about other version can be found under Category:Releases.
EiffelStudio 15.08.x Releases
Beta download: https://ftp.eiffel.com/pub/beta/15.08/
15.08.x.x
New features
- EiffelStudio: Supported a new inline separate instruction that allows making feature calls on uncontrolled separate targets inline rather than calling dedicated routines:
separate some_expression_of_separate_type as x, other_expression_of_separate_type as y do x.foo y.bar end
- EiffelStudio: Supported creation of passive regions in SCOOP that execute all logged calls on caller's processors:
create <NONE> foo.make -- Creation instruction. bar := create <NONE> {separate BAZ}.make -- Creation expression.
- A side effect is that all calls on passive regions are synchronous.
Improvements
- runtime: Improved memory management by performing O(log N) lookups when looking for a large block of memory instead of O(N). This would occur after allocating many large objects whose size is greater than 512 bytes (on 32-bit platform) and 1024 bytes on 64-bit platform and then freeing all those objects. Next time you look for a large object it might have to go through all those large objects without finding one that is large enough.
- code generation: Made code slightly more compact (2 to 6% size reduction on some platform)
Feature removed
Bug fixes
- runtime: The SCOOP runtime is now fully written in C to avoid portability issues.
- compiler: Corrected access to tuple fields in SCOOP mode that now follow the validity rules and the semantics of ordinary attributes of a class.
- compiler: test#scoop034 - Fixed a code generation bug in finalized mode for a generic derivation with an actual generic of a basic type.
- compiler: test#term216 - Fixed a crash when processing conversion queries defined as constant attributes.
User changes
Developer changes
15.05.9.7047 (April 9th 2015)
New features
- eiffelstudio: Added ability to control the behavior of dropping a class stone on a tab by either replacing it, always creating a new tab or creating a new tab if the current tab had some edits.
Improvements
- compiler: Changed agent creation rules for separate targets. This change makes it possible to introduce library features that help users to avoid writing small little wrapper features in SCOOP to control an object. It is now possible to create agents on separate, uncontrolled target. The newly created agent object is placed on the same processor as the target, and it inherits the 'is_controlled' status.
- library: bug#19045 - cleaned up comments in
NATURAL_nn_REF
classes.
Feature removed
Bug fixes
- compiler: Fixed eweasel test#final122 and bug#19028 where we would incorrectly optimize `expr and False' or `expr and then False' into just `expr' which is wrong if `expr' is True (as the whole expression would be True and not False).
- compiler: Optimized `expr and False' and `expr and then False' to just False if `expr' is a local, a argument, Result, Current, an attribute access or if it is the `and' boolean op.
- eiffelstudio: Fixed issue introduced in version 7.3 of EiffelStudio where .NET classes would not appear in tree view.
- eiffelstudio: Improved tooltip of assemblies by separating the assembly name from the namespace with ": ".
- eiffelstudio: Fixed tooltip of referenced assemblies to show assembly information instead of just the path to the assembly.
- library: Fixed a bug in
{STRING_8}.trim
and{STRING_32}.trim
that caused a postcondition violation in this procedure.