summaryrefslogtreecommitdiff
path: root/Changes
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>2014-04-28 11:49:52 +0000
committerDamien Doligez <damien.doligez-inria.fr>2014-04-28 11:49:52 +0000
commitcc25e53ad310eb32d4854a1505ac3a9a917c8368 (patch)
tree101a8f24490f8ef63c75820cfd945cc4d7f669fc /Changes
parente94190206fe983154d5606a448e434aec03783d0 (diff)
parentf1f362698f931494a305d48667936ffee2012b64 (diff)
downloadocaml-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--Changes20
1 files changed, 13 insertions, 7 deletions
diff --git a/Changes b/Changes
index 89206cb99b..1c676e280c 100644
--- a/Changes
+++ b/Changes
@@ -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}