| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds the required_globals information to bytecode compilation units.
This patch also bootstrap ocamlc. The cmo format is changed by this
commit, there is no way around bootstraping here. Note that ocamldep and
ocamllex does not rely on the cmo format, so they are not present in
this commit.
Changes in tests:
* Update test/transprim/comparison_table.ml.reference:
The (opaque (global List!)) expression is not present anymore
* Update tests/no-alias-deps/aliases.cmo.reference
The output of objinfo changed
|
| | |
|
| | |
|
| |
|
|
| |
GPR#480: Flambda fix: try to make Unbox_closures behave more reasonably
|
| | |
|
| |
|
|
|
|
|
|
|
| |
- use the generic abstract tag like weak pointers
- a weak pointer is implemented using an ephemeron (one additionnal word)
- add for every full GC a complexity of O((n+m)*(m+1))
with m the number of pure ephemerons,
n the number of ephemerons used as weak pointers
- multiple keys, modifiable keys
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| |/ |
|
| |
|
|
| |
not needed and can cause spurious merge conflicts.
|
| |
|
|
|
|
| |
The stripping is done during bootstrap, when copying the new ocamlc, ocamllex and ocamldep to boot/. The new "stripdebug" tool performs this task.
As a consequence, comparing the new compilers with the boot/ compilers at the end of bootstrap is more complicated, since the debug section must be ignored. A new tool, "cmpbyt" in tools/, performs this comparison.
|
| |
|
|
|
|
|
| |
This reverts commit 16bc43219cbd49bb3450e362c6c3e0b3a129f374.
(Conflict resolution: bytecomp/translcore.ml:prim_makearray was
dead code and has since been removed)
|
| |
|
|
|
|
|
| |
This reverts commit 7e47735db8bbc4e54e1653d218cc1e6c90813ba4.
(Again, this required manual conflict resolution in parsing/parser.mly,
due to the change in argument label type)
|
| |
|
|
|
|
|
| |
This reverts commit 4a80e9da1114cb1e351a8c61cab6f04e6c1ba927.
(The revert required some manual conflict resolution because of use of
function argument labels in the parser.)
|
| |
|
|
|
|
|
| |
Because debug-information has been enabled for compiler build
(GPR#300, e69ccdb), boot/ocamlc suffers a very large increase in size:
it goes from 1838126 bytes (around 1.75 MiB) to 9749343 bytes
(9.30 MiB), a 5.3x increase.
|
| |
|
|
| |
So that we can create constants of type [extension_constructor]
|
| |\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Merge of branch 'hex-float'.
- Add support in byterun/floats.c for conversions between floats and strings in hex notation. We cannot rely on the C standard library here because Microsoft consistently fails at supporting hex notation as standardized in C99. Instead, the conversions are implemented from scratch.
- Add support in the lexer so that hex float literals are recognized in OCaml sources.
- Add support in formats. The ISO C99 format letters for hex floats are %a and %A, but %a is already taken. I chose %h and %H, which are rejected today as bad formats (hence no backward incompatibility) and don't mean anything in C either (h is a modifier, not a format letter).
- Add support in printf. All the trimmings are there in the implementation of %h and %H, including sign modifier and fixed precision.
- Benoit Vaugon contributed support in scanf.
Resolved conflicts:
boot/ocamlc
boot/ocamldep
boot/ocamllex
parsing/lexer.mll
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Primitives:
caml_float_of_string extended to recognize "0x" hexa notation
caml_hexstring_of_float new primitive
We do not assume hex floats are supported by the C standard library.
Instead, conversions hex string <-> float are implemented manually.
- Printf: hex FP output supported with formats %h / %H
- Scanf: remains to be updated (see TODO in stdlib/scanf.ml)
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/hex-float@16257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| | |
| |
| |
| | |
tools/check-typo
|
| | | |
|
| | |
| |
| |
| | |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16537 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| | |
| |
| |
| | |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16456 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| | |
| |
| |
| | |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16455 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| | |
| |
| |
| | |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16432 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding [@unboxed] (resp [@untagged]) on a primitive argument means
that the argument must passed unboxed (resp untagged) to the external
function. Adding [@unboxed] (resp [@untagged]) on the result means
that the external function returns its result unboxed (resp untagged).
The unboxing (resp untagging) method is derived from the type.
Currently unboxing is suported for: float, int32, int64 and nativeint.
Untagging is supported for int.
This patch also increases the cm{i,o,a,x,xa} magic numbers as the type
Primitive.description is changed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| | |
| |
| |
| | |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |/
|
|
|
|
| |
(Simon Cruanes)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16346 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
| |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16255 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
|
|
| |
which is still open.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16245 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
| |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16218 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
| |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
| |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16032 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
| |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15987 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
| |
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
| |
|
|
|
|
|
| |
(Peter Zotov and Jake Donham,
review by Gabriel Scherer and Jacques-Henri Jourdan)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15830 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|