~clint-fewbar/ubuntu/precise/erlang/merge-15b

« back to all changes in this revision

Viewing changes to lib/hipe/doc/src/notes.xml

  • Committer: Package Import Robot
  • Author(s): Sergei Golovan
  • Date: 2011-12-15 19:20:10 UTC
  • mfrom: (1.1.18) (3.5.15 sid)
  • mto: (3.5.16 sid)
  • mto: This revision was merged to the branch mainline in revision 33.
  • Revision ID: package-import@ubuntu.com-20111215192010-jnxcfe3tbrpp0big
Tags: 1:15.b-dfsg-1
* New upstream release.
* Upload to experimental because this release breaks external drivers
  API along with ABI, so several applications are to be fixed.
* Removed SSL patch because the old SSL implementation is removed from
  the upstream distribution.
* Removed never used patch which added native code to erlang beam files.
* Removed the erlang-docbuilder binary package because the docbuilder
  application was dropped by upstream.
* Documented dropping ${erlang-docbuilder:Depends} substvar in
  erlang-depends(1) manpage.
* Made erlang-base and erlang-base-hipe provide virtual package
  erlang-abi-15.b (the number means the first erlang version, which
  provides current ABI).

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<chapter>
5
5
  <header>
6
6
    <copyright>
7
 
      <year>2006</year><year>2010</year>
 
7
      <year>2006</year><year>2011</year>
8
8
      <holder>Ericsson AB. All Rights Reserved.</holder>
9
9
    </copyright>
10
10
    <legalnotice>
30
30
  </header>
31
31
  <p>This document describes the changes made to HiPE.</p>
32
32
 
 
33
<section><title>Hipe 3.9</title>
 
34
 
 
35
    <section><title>Fixed Bugs and Malfunctions</title>
 
36
      <list>
 
37
        <item>
 
38
          <p>
 
39
            <list> <item><p>No warnings for underspecs with remote
 
40
            types</p></item> <item><p> Fix crash in Typer</p></item>
 
41
            <item><p>Fix Dialyzer's warning for its own
 
42
            code</p></item> <item><p>Fix Dialyzer's warnings in
 
43
            HiPE</p></item> <item><p>Add file/line info in a
 
44
            particular Dialyzer crash</p></item> <item><p>Update
 
45
            inets test results</p></item> </list></p>
 
46
          <p>
 
47
            Own Id: OTP-9758</p>
 
48
        </item>
 
49
        <item>
 
50
          <p>
 
51
            <list> <item><p>Correct callback spec in application
 
52
            module</p></item> <item><p>Refine warning about callback
 
53
            specs with extra ranges</p></item> <item><p>Cleanup
 
54
            autoimport compiler directives</p></item> <item><p>Fix
 
55
            Dialyzer's warnings in typer</p></item> <item><p>Fix
 
56
            Dialyzer's warning for its own code</p></item>
 
57
            <item><p>Fix bug in Dialyzer's behaviours
 
58
            analysis</p></item> <item><p>Fix crash in
 
59
            Dialyzer</p></item> <item><p>Variable substitution was
 
60
            not generalizing any unknown variables.</p></item>
 
61
            </list></p>
 
62
          <p>
 
63
            Own Id: OTP-9776</p>
 
64
        </item>
 
65
      </list>
 
66
    </section>
 
67
 
 
68
 
 
69
    <section><title>Improvements and New Features</title>
 
70
      <list>
 
71
        <item>
 
72
          <p>
 
73
            Possible to run HiPE without floating point exceptions
 
74
            (FPE). Useful on platforms that lack reliable FPE. Slower
 
75
            float operations compared to HiPE with FPE.</p>
 
76
          <p>
 
77
            Own Id: OTP-9724</p>
 
78
        </item>
 
79
        <item>
 
80
          <p>
 
81
            HiPE compiler: The possibility to compile and load
 
82
            selected functions from a module has been removed.</p>
 
83
          <p>
 
84
            *** POTENTIAL INCOMPATIBILITY ***</p>
 
85
          <p>
 
86
            Own Id: OTP-9751</p>
 
87
        </item>
 
88
        <item>
 
89
          <p>
 
90
            <c>filename:find_src/1,2</c> will now work on stripped
 
91
            BEAM files (reported by Per Hedeland). The HiPE compiler
 
92
            will also work on stripped BEAM files. The BEAM compiler
 
93
            will no longer include compilation options given in the
 
94
            source code itself in <c>M:module_info(compile)</c>
 
95
            (because those options will be applied anyway if the
 
96
            module is re-compiled).</p>
 
97
          <p>
 
98
            Own Id: OTP-9752</p>
 
99
        </item>
 
100
        <item>
 
101
            <p> Optimize <c>erl_types:t_unify()</c>. </p>
 
102
          <p>
 
103
            Own Id: OTP-9768</p>
 
104
        </item>
 
105
      </list>
 
106
    </section>
 
107
 
 
108
</section>
 
109
 
 
110
<section><title>Hipe 3.8.1</title>
 
111
 
 
112
    <section><title>Fixed Bugs and Malfunctions</title>
 
113
      <list>
 
114
        <item>
 
115
          <p>
 
116
            Clean up hipe.hrl.src (Thanks to Tuncer Ayaz)</p>
 
117
          <p>
 
118
            Own Id: OTP-9511</p>
 
119
        </item>
 
120
        <item>
 
121
          <p>
 
122
            Fix bug with binary pattern matching of floats of
 
123
            variable size</p>
 
124
          <p>
 
125
            Pattern matching of floats with variable size
 
126
            (&lt;&lt;F:S/float&gt;&gt;) did always fail. Judging from
 
127
            similar code for ints, this bug is simply a typo.(Thanks
 
128
            to Paul Guyot)</p>
 
129
          <p>
 
130
            Own Id: OTP-9556</p>
 
131
        </item>
 
132
        <item>
 
133
          <p>
 
134
            Quote atoms if necessary in types</p>
 
135
          <p>
 
136
            Atoms in some occurrences were not correctly quoted when
 
137
            formatted to strings, for instance by the typer program
 
138
            (Thanks to Tomas Abrahamsson)</p>
 
139
          <p>
 
140
            Update Dialyzer's reference results</p>
 
141
          <p>
 
142
            Own Id: OTP-9560</p>
 
143
        </item>
 
144
        <item>
 
145
          <p>
 
146
            Fix typer's crash for nonexisting files Remove unused
 
147
            macro Fix bug in dataflow Decrease tuple arity limit This
 
148
            fixes a memory related crash.</p>
 
149
          <p>
 
150
            Own Id: OTP-9597</p>
 
151
        </item>
 
152
      </list>
 
153
    </section>
 
154
 
 
155
 
 
156
    <section><title>Improvements and New Features</title>
 
157
      <list>
 
158
        <item>
 
159
          <p>
 
160
            Types for several BIFs have been extended/corrected. Also
 
161
            the types for types for <c>lists:keyfind/3</c>,
 
162
            <c>lists:keysearch/3</c>, and <c>lists:keyemember/3</c>
 
163
            have been corrected. The incorrect/incomplete types could
 
164
            cause false dialyzer warnings.</p>
 
165
          <p>
 
166
            Own Id: OTP-9496</p>
 
167
        </item>
 
168
      </list>
 
169
    </section>
 
170
 
 
171
</section>
 
172
 
 
173
<section><title>Hipe 3.8</title>
 
174
 
 
175
    <section><title>Fixed Bugs and Malfunctions</title>
 
176
      <list>
 
177
        <item>
 
178
          <p>
 
179
            Fix hipe bug causing minor heap corruption related to
 
180
            binary matching. The bug has not been confirmed as the
 
181
            cause of any actual fault symptom.</p>
 
182
          <p>
 
183
            Own Id: OTP-9182</p>
 
184
        </item>
 
185
        <item>
 
186
          <p>
 
187
            Enable HiPE by default when compiling for PPC64</p>
 
188
          <p>
 
189
            Own Id: OTP-9198</p>
 
190
        </item>
 
191
        <item>
 
192
          <p>
 
193
            Fix handling of &lt;&lt;_:N,_:_*M&gt;&gt; type
 
194
            expressions Fix the argument of
 
195
            erlang:list_to_bitstring/1 Remove unneeded function
 
196
            'sequence/2' Same functionality provided by
 
197
            string:join/2.</p>
 
198
          <p>
 
199
            Own Id: OTP-9277</p>
 
200
        </item>
 
201
      </list>
 
202
    </section>
 
203
 
 
204
</section>
 
205
 
 
206
<section><title>Hipe 3.7.9</title>
 
207
 
 
208
    <section><title>Fixed Bugs and Malfunctions</title>
 
209
      <list>
 
210
        <item>
 
211
          <p>
 
212
            Fix erroneous fail info of a hipe_bs_primop</p>
 
213
          <p>
 
214
            Own Id: OTP-9036</p>
 
215
        </item>
 
216
        <item>
 
217
          <p>
 
218
            The change fixes a bug in the translation of 'bs_add'
 
219
            BEAM instruction to HiPE's Icode representation. When
 
220
            these instructions appeared in a guard context the
 
221
            previous translation was obviously buggy.</p>
 
222
          <p>
 
223
            Own Id: OTP-9044</p>
 
224
        </item>
 
225
        <item>
 
226
          <p>
 
227
            Sanitize the specs of the code module</p>
 
228
          <p>
 
229
            After the addition of unicode_binary() to the
 
230
            file:filename() type, dialyzer started complaining about
 
231
            erroneous or incomplete specs in some functions of the
 
232
            'code' module. The culprit was hard-coded information in
 
233
            erl_bif_types for functions of this module, which were
 
234
            not updated. Since these functions have proper specs
 
235
            these days and code duplication (pun intended) is never a
 
236
            good idea, their type information was removed from
 
237
            erl_bif_types.</p>
 
238
          <p>
 
239
            While doing this, some erroneous comments were fixed in
 
240
            the code module and also made sure that the code now runs
 
241
            without dialyzer warnings even when the
 
242
            -Wunmatched_returns option is used.</p>
 
243
          <p>
 
244
            Some cleanups were applied to erl_bif_types too.</p>
 
245
          <p>
 
246
            Own Id: OTP-9100</p>
 
247
        </item>
 
248
        <item>
 
249
          <p>
 
250
            Fix bug in the simplification of inexact comparisons</p>
 
251
          <p>
 
252
            On 31/1/2011 Paul Guyot reported a bug in the native code
 
253
            compilation of inexact equality/inequality tests between
 
254
            floats and integers. The relevant test was:</p>
 
255
          <p>
 
256
            f(X) -&gt; Y = X / 2, Y == 0.</p>
 
257
          <p>
 
258
            and hipe erroneously evaluated the calls f(0) and f(0.0)
 
259
            to 'false'.</p>
 
260
          <p>
 
261
            The culprit was in the simplification code of the Icode
 
262
            range analysis which used an erroneous test (lists:any/1
 
263
            instead of lists:all/1).</p>
 
264
          <p>
 
265
            Own Id: OTP-9101</p>
 
266
        </item>
 
267
        <item>
 
268
          <p>
 
269
            Document exiting and garbage_collecting process statuses</p>
 
270
          <p>
 
271
            Own Id: OTP-9102</p>
 
272
        </item>
 
273
        <item>
 
274
          <p>
 
275
            Remove hipe constants pool</p>
 
276
          <p>
 
277
            Hipe constants used to be allocated within a single,
 
278
            fixed-size pool for interaction with the garbage
 
279
            collector. However, the garbage collector no longer
 
280
            depends on constants being allocated within a single
 
281
            pool, and the fixed size of the pool both meant
 
282
            unnecessary allocations on most deployments and crashes
 
283
            on deployments requiring more constants.</p>
 
284
          <p>
 
285
            The code was simplified to directly invoke erts_alloc.
 
286
            Debugging and undocumented function
 
287
            hipe_bifs:show_literals/0 was removed (it returned true
 
288
            and output text to the console), and debugging and
 
289
            undocumented function hipe_bifs:constants_size/0 was
 
290
            rewritten with a global to count the size of allocated
 
291
            constants.</p>
 
292
          <p>
 
293
            Own Id: OTP-9128</p>
 
294
        </item>
 
295
      </list>
 
296
    </section>
 
297
 
 
298
</section>
 
299
 
 
300
<section><title>Hipe 3.7.8.1</title>
 
301
 
 
302
    <section><title>Fixed Bugs and Malfunctions</title>
 
303
      <list>
 
304
        <item>
 
305
          <p>
 
306
            Several type specifications for standard libraries were
 
307
            wrong in the R14B01 release. This is now corrected. The
 
308
            corrections concern types in re,io,filename and the
 
309
            module erlang itself.</p>
 
310
          <p>
 
311
            Own Id: OTP-9008</p>
 
312
        </item>
 
313
      </list>
 
314
    </section>
 
315
 
 
316
</section>
 
317
 
33
318
<section><title>Hipe 3.7.8</title>
34
319
 
35
320
    <section><title>Improvements and New Features</title>