Luc Maranget
c2a88c27fd
#PR6269 Optimized string matching
...
Noticed that I had to bootstrap to test on ARM, so I commit a new bootstrap
compiler.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14479 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-21 17:02:44 +00:00
Gabriel Scherer
eeae918f35
Pervasives: define [min_int] and [max_int] without assuming that integers are either 31 or 63 bits.
...
(Patch by Jérôme Vouillon)
Js_of_ocaml has 32 bit integers. Currently, it patches the bytecode,
just to get the correct values for [min_int] and [max_int]. It would be
simpler if this was not necessary.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14477 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-20 16:09:33 +00:00
Jacques Garrigue
65b1193406
Fix PR#6307
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-10 02:54:02 +00:00
Alain Frisch
7fead1f37b
#5779 : Revert change on camlinternalOO.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14449 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-07 17:10:02 +00:00
Mark Shinwell
1f4de8b799
use -bin-annot when building
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14448 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-07 14:47:30 +00:00
Alain Frisch
ccf516168f
#5779 : adopt gasche's sentinel solution.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14447 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-07 08:16:41 +00:00
Alain Frisch
4907f6ca76
#5779 : improve support for structured constants (better propagation, sharing, cleaner representation). Also fix #6337 (constants emitted several times).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-06 17:03:16 +00:00
Damien Doligez
9d86709547
fix major performance problem on large heaps by making the heap increment proportional to the heap size
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14442 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-20 13:04:01 +00:00
Damien Doligez
29ad65d954
PR#6208: Hashtbl.reset @since 4.00.0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14437 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-19 15:23:17 +00:00
Damien Doligez
89735c4b9c
PR#6189: items (8) and (9)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14412 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-22 14:33:38 +00:00
Damien Doligez
4311193245
PR#6189: items (5) (6) (7)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14411 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-22 14:05:13 +00:00
Jacques Garrigue
3b4d7cf63b
Merge module-alias branch (cf. PR#6063)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-10 07:53:33 +00:00
Damien Doligez
1ed1b20201
PR#6245: Minor inconsistencies between related signatures in arg.mli
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14332 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-30 22:15:11 +00:00
Xavier Leroy
33f242aaea
Reverting the elimination of the ocamlcomp*.sh scripts, namely the following commits:
...
14278
14277
14276
14176
14175
14173
14172
14171
14169
14168
14167
These changes need to mature on their own branch.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-29 13:04:38 +00:00
Alain Frisch
f16534ef1a
Reintegrate raise_variants branch.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14289 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-13 13:55:13 +00:00
Alain Frisch
b911754434
Simplify special logic for array bound error (allocate the exception value from Pervasives).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14275 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-08 16:18:21 +00:00
Alain Frisch
171a77daba
Fix typos and wording ( #6231 ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14274 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-08 15:36:36 +00:00
Alain Frisch
7bb3e64160
Do not introduce Obj.raw_tag.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-06 10:57:20 +00:00
Alain Frisch
5ef2ee909f
Support for exception values allocated in the static area (e.g. out of bound exception in native code).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14242 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-23 15:17:05 +00:00
Alain Frisch
be3c4d6882
Add two functions to get the exception slot id and name from an exception value.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14240 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-23 14:35:43 +00:00
Alain Frisch
0f6f367ad4
Change the representation of exception slots: instead of being represented as 'string ref', they are now blocks
...
of size 2, with tag = Object_tag, the first field being the pointer to the string, and second one being a unique id, generated
from the same sequence as for object values. Special case for predefined exceptions, represented with a negative id.
The unique id generator is moved from camlinternalOO to the C runtime system.
Also fix some bugs.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14239 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-23 14:28:31 +00:00
Alain Frisch
d802a51be6
#6203 : change representation of exception values created with a constant constructor: the value is now equal to the exception slot. This avoids some allocation when the constructor is called and an extra indirection on matching against the constructor.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14235 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-18 13:00:58 +00:00
Alain Frisch
0915cb5b5f
Rename raise_nostack -> raise_notrace. Expose it in Pervasives.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14 13:52:14 +00:00
Jacques Garrigue
6ffc859a5c
everything works except camlp4
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14204 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-01 03:17:11 +00:00
Wojciech Meyer
241585bc83
build: replace ocamlcomp*.sh.
...
This script was built from ocamlcomp.sh.in through sed and is called
instead of "ocamlc" (for instance).
It makes it possible to switch from "ocamlc" to "ocamlc.opt" without
changing anything in the Makefiles, only calling sed.
I couldn't cleanly make it handle both a compiler for the target and for
the build. Instead I'm replacing it and doing as much as possible
directly in the Makefiles.
I hoped it would reduce the number of shell invocations, which would
speed things up quite a lot on Windows but I still had to have at least
one since it's not possible to update a make variable from inside a make
rule: i.e. it's not possible to do X=a, build a.opt and update X to be
a.opt.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20 00:22:38 +00:00
Alain Frisch
2373f76c36
#6180 : efficient creation of uninitialized float arrays.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 11:54:31 +00:00
Gabriel Scherer
8ba031a7db
Format: pp_print_list and pp_print_text, contributed by Daniel Bünzli
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-13 15:55:41 +00:00
Damien Doligez
fe6ff6a033
remove leftover conflicts from .depend
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14061 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-04 15:37:10 +00:00
Damien Doligez
7844495624
Merge branch 4.01 from branching point to 4.01.0+rc1
...
Command line used:
svn merge --accept postpone -r 13776:14055 $REPO/version/4.01 .
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-04 15:12:37 +00:00
Alain Frisch
bbb30a93b2
PR#6148: speed improvement for Buffer (patch by John Whitington).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14048 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-30 13:12:47 +00:00
Gabriel Scherer
da3011fec2
PR#6116: more efficient implementation of Digest.to_hex [patch by ygrek]
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13971 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-04 19:58:07 +00:00
Damien Doligez
5fbcc8e6ae
PR#4243: make the Makefiles parallelizable
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 14:39:31 +00:00
Gabriel Scherer
cdd43f2800
PR#5644: a dumbed-down fix to fix the observable effect (Stream.of_string) with no change to the underlying code (to avoid regressions)
...
As I learned the hard way, it is essentially impossible to get
a satisfying behavior in presence of a mix of updates, concatenations
and counts. The best thing to do is thus to not change anything
(a good way to preserve compatibility), and only fix the
Stream.of_string function to assume nothing of the count passed to the
[from] function.
I also modified the mli documentation of [Stream.from] to warn other
users of this potential pitfall.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13915 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-21 20:03:52 +00:00
Gabriel Scherer
4574c718f8
Revert the changes of revision 12682 (PR#5644 Stream.count broken when used with Sapp or Slazy nodes) because of regressions identified by hongboz
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13914 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-21 20:02:29 +00:00
Xavier Leroy
1353262558
PR#5739: Printf.printf "%F" and nan/infinity/neg_infinity.
...
(Reflecting commit r13910 on version/4.01)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-19 09:07:54 +00:00
Alain Frisch
7334bb026a
#5899 : expose Printexc.get_callstack. (Cherry-picked 13884, 13885 from trunk.)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-11 12:37:10 +00:00
Alain Frisch
edb771d22b
#4986 . Add two common operations: List.sort_uniq (more efficient that sorting then removing duplicates) and Set.of_list (more efficient than folding Set.add over the list).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13876 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 11:01:42 +00:00
Gabriel Scherer
54a131a262
PR#4079: Queue.copy is now tail-recursive (patch from "Cristophe" on the bugtracker)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-16 16:19:30 +00:00
Damien Doligez
493704f300
PR#5827: provide a dynamic command line parsing mechanism
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13772 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-13 11:26:16 +00:00
Damien Doligez
cdf6f91ba5
typo and reformatting of comments
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13752 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-06 15:01:41 +00:00
Fabrice Le Fessant
504e86d722
Revert r13746 (demanded by Xavier)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13748 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05 17:54:20 +00:00
Fabrice Le Fessant
1f9f68a328
Add String.split and String.cut_at from Misc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13746 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05 13:27:05 +00:00
Fabrice Le Fessant
ace0205b64
Add |> and @@ operators to Pervasives
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13739 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 18:22:31 +00:00
Hongbo Zhang
e97c59d045
fix scanf.ml build
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13728 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-02 14:42:33 +00:00
Pierre Weis
4b3e3c7647
A thoroughly revised documentation for format strings.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13726 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-01 12:05:32 +00:00
Pierre Weis
e833f3c9d5
Better error messages for binary/octal/hexa integer scanning.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13725 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-01 09:01:59 +00:00
Pierre Weis
626c696aee
Wrong quoting chase.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13717 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 18:03:55 +00:00
Pierre Weis
f5e0923469
Better documentation of meta format conversion.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13714 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 16:44:12 +00:00
Damien Doligez
db9ea0df59
PR#6024: Format syntax for printing @ is incompatible with 3.12.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13713 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 15:56:25 +00:00
Gabriel Scherer
c089c9a6dd
fix the buggy parser example in the Genlex documentation (issue reported by Armael Geneau)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13613 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-28 14:28:55 +00:00