ViewVC logotype

Contents of /trunk/Documentation/xmldoc/tools/eiffelstudio/reference/30_compiler/60_version_history/10_62_release/index.xml

Parent Directory Parent Directory | Revision Log Revision Log

Revision 73708 - (show annotations)
Sun May 25 06:35:58 2008 UTC (11 years, 7 months ago) by manus
File MIME type: text/xml
File size: 4185 byte(s)
Added 6.2 release elements.

1 <document title="Major changes between ISE Eiffel 6.1 and ISE Eiffel 6.2">
2 <meta_data>
3 <help>
4 <toc>
5 <envision_location>EiffelEnvision\Introduction to EiffelEnvision\History and Known Issues\Compiler History</envision_location>
6 </toc>
7 </help>
8 </meta_data>
9 <paragraph>
10 <heading><size>2</size>What's new</heading>
11 <seealso>See also: <link><label>Differences between standard ECMA-367 and Eiffel Software implementation</label><url>../../10_ise_eiffel_specific/ecma.xml</url></link></seealso>
12 <list ordered="false">
13 <item>Exceptions are objets are now implemented.</item>
14 <item>Added detection of harmful catcall at runtime (harmless one are currently ignored).</item>
15 <item>Added support for `note' keyword with a migration path in case `note' is being used as an identifier in your code.</item>
16 <item>Added `-gc_stats' option to get some information on how much CPU time is spent in GC during an Eiffel compilation.</item>
17 </list>
18 <heading><size>2</size>Improvements</heading>
19 <list ordered="false">
20 <item>Improved speed of compiler by a significant factor for large system.</item>
21 <item>Generated code is about 3-4% faster with a size reduction of about 2-3%.</item>
22 <item>Improved number of dynamic to static bindings in finalized code. Improved quality of inlined code for reducing even more of the dynamic calls.</item>
23 <item>Reduced the size of the AST stored in memory during a compilation by 20/25% which results in a memory usage reduction for EiffelStudio of about 15%. For example when compiling EiffelStudio on Windows 64-bit, it was taking 920MB with the previous version, and now it would be 800MB.</item>
24 <item>Fixed performance issue with {<class_name>SPECIAL</class_name>}.<feature_name>clear_all</feature_name> when handling a special of reference.</item>
25 </list>
26 <heading><size>2</size>Changes</heading>
27 <list ordered="false">
28 <item>Protected several calls to `eif_wean' on the same EIF_OBJECT. This will prevent a memory corruption for people using it incorrectly with a minor slow down since in a typical application there should not be too many protected objects.</item>
29 </list>
30 <heading><size>2</size>Bug fixes</heading>
31 <list ordered="false">
32 <item>Fixed eweasel test#final046 by avoiding useless creation of temporary objects during dynamic dispatch. It can also dramatically speed up certain kind of code; on the compiler itself, the speed up is about 8-10%. In the worst case scenario it is 400% or more. Note this bug was introduced in version 6.0. Compared to 5.7, in 6.2 the worst case scenario is still about 10% slower.</item>
33 <item>Fixed an incorrect code generation for `is_equal' in ANY when exception trace is off which could cause a memory corruption.</item>
34 <item>Fixed various issues with compiler when inlining is enabled.</item>
35 <item>Fixed compiler crash when compiling a class where a type used in a signature of a feature has the wrong number of generic parameters. Fixed eweasel test#incr285.</item>
36 <item>Fixed an incorrect code generation for the dynamic binding of routines defined in generic classes and attribute access in general. Fixed eweasel test#exec272 and test#final039.</item>
37 <item>Fixed eweasel test#melt081 where having a redefined routine involving an anchor to a non-existing feature would crash the compiler instead of reporting a VEEN error.</item>
38 <item>Various bug fixes with respect of handling of expanded generic classes used in generic classes.</item>
39 </list>
40 <heading><size>3</size>Compiler issues</heading>
41 <list ordered="false">
42 <item></item>
43 </list>
44 <heading><size>3</size>Runtime/code generation issues</heading>
45 <list ordered="false">
46 <item>Changed the usage of `eif_adopt', `eif_protect', `eif_wean', `eif_freeze' and `eif_unfreeze' so that they can be used in concurrent thread. Meaning that it is safe to use them as long as the argument is different in various threads.</item>
47 </list>
48 <heading><size>3</size>Store/Retrieve issues</heading>
49 <list ordered="false">
50 <item>Fixed some issues with the storing or retrieving of generic expanded types.</item>
51 </list>
52 </paragraph>
53 </document>


Name Value
svn:eol-style native

  ViewVC Help
Powered by ViewVC 1.1.23