diff options
| author | Damien Doligez <damien.doligez-inria.fr> | 2014-04-28 11:49:52 +0000 |
|---|---|---|
| committer | Damien Doligez <damien.doligez-inria.fr> | 2014-04-28 11:49:52 +0000 |
| commit | cc25e53ad310eb32d4854a1505ac3a9a917c8368 (patch) | |
| tree | 101a8f24490f8ef63c75820cfd945cc4d7f669fc /Changes | |
| parent | e94190206fe983154d5606a448e434aec03783d0 (diff) | |
| parent | f1f362698f931494a305d48667936ffee2012b64 (diff) | |
| download | ocaml-safe-string.tar.gz | |
merge trunk up to commit 14699safe-string
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/safe-string@14700 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'Changes')
| -rw-r--r-- | Changes | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -7,11 +7,9 @@ Language features: - Attributes and extension nodes - Generative functors - Module aliases -- Read-only strings: split the "string" type into two types, "string" and - "bytes". Same for the stdlib modules "String" and "Bytes". "string" is - now read-only and "bytes" is read-write. A compatibility mode (enabled - by default) identifies the two types so old programs still work as - before. The new mode is enabled with command-line option "-safe-string". +* Alternative syntax for string literals {id|...|id} (can break comments) +- Separation between read-only strings (type string) and read-write byte + sequences (type bytes). Activated by command-line option -safe-string. Build system for the OCaml distribution: - Use -bin-annot when building. @@ -40,6 +38,14 @@ Type system: representation is unchanged. Compilers: +- More aggressive constant propagation, including float and + int32/int64/nativeint arithmetic. Constant propagation for floats + can be turned off with option -no-float-const-prop, for codes that + change FP rounding modes at run-time. +- New back-end optimization pass: common subexpression elimination (CSE). + (Reuses results of previous computations instead of recomputing them.) +- New back-end optimization pass: dead code elimination. + (Removes arithmetic and load instructions whose results are unused.) - PR#6269 Optimization of string matching (patch by Benoit Vaugon and Luc Maranget) - Experimental native code generator for AArch64 (ARM 64 bits) @@ -56,8 +62,7 @@ Compilers: - PR#6260: Unnecessary boxing in let (patch by vbrankov) Toplevel interactive system: -- Support for directive with multiple arguments -- PR#5377: New "#show" directive +- PR#5377: New "#show_*" directives Runtime system: - Fixed a major performance problem on large heaps (~1GB) by making heap @@ -119,6 +124,7 @@ Bug fixes: - PR#6346: Build failure with latest version of xcode on OSX - PR#6348: Unification failure for GADT when original definition is hidden - PR#6352: Automatic removal of optional arguments and sequencing +- PR#6361: Hashtbl.hash not terminating on some lazy values w/ recursive types - fix -dsource printing of "external _pipe = ..." (Gabriel Scherer) - bound-checking bug in caml_string_{get,set}{16,32,64} |
