From caebbfcdcb3a1850cc778aa81a799e40b9841d6d Mon Sep 17 00:00:00 2001 From: eiffel-org Date: Tue, 26 Jan 2016 13:08:00 +0000 Subject: [PATCH] Update wikipage Major changes between ISE Eiffel 15.01 and ISE Eiffel 15.08. (Signed-off-by:tqa7ve2mnbntqnfca3i6rk7arhc2kxr8). git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1480 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- ...ISE-Eiffel-15.01-and-ISE-Eiffel-15.08.wiki | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 documentation/trunk/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/Major-changes-between-ISE-Eiffel-15.01-and-ISE-Eiffel-15.08.wiki diff --git a/documentation/trunk/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/Major-changes-between-ISE-Eiffel-15.01-and-ISE-Eiffel-15.08.wiki b/documentation/trunk/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/Major-changes-between-ISE-Eiffel-15.01-and-ISE-Eiffel-15.08.wiki new file mode 100644 index 00000000..3c222ce3 --- /dev/null +++ b/documentation/trunk/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/Major-changes-between-ISE-Eiffel-15.01-and-ISE-Eiffel-15.08.wiki @@ -0,0 +1,35 @@ +[[Property:uuid|C86C3894-2FBC-443E-8E19-FD4A442642CA]] +[[Property:weight|0]] +[[Property:title|Major changes between ISE Eiffel 15.01 and ISE Eiffel 15.08]] +[[Property:link_title|15.08]] +==What's new== +* 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 + +* Supported creation of passive regions in SCOOP that execute all logged calls on caller's processors: +create foo.make -- Creation instruction. +bar := create {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). + +==Changes== + +==Bug fixes== + +===Compiler issues=== + +===SCOOP issues=== +* The SCOOP runtime is now fully written in C to avoid portability issues. +* Corrected access to tuple fields in SCOOP mode that now follow the validity rules and the semantics of ordinary attributes of a class. +* test#scoop034 - Fixed a code generation bug in finalized mode for a generic derivation with an actual generic of a basic type. +* test#term216 - Fixed a crash when processing conversion queries defined as constant attributes. \ No newline at end of file