Commit Graph

19751 Commits (1cd6e4451f04af4871675d0eecd48b3bac262b67)

Author SHA1 Message Date
Vincent Laviron 6bc250e8e6 Rewrite Changes entry 2020-01-24 18:12:04 +01:00
Vincent Laviron 930ec4a9b4 Move Changes entry to 4.10 2020-01-24 18:11:00 +01:00
Vincent Laviron 236e15fbae Update Changes 2020-01-24 17:05:52 +01:00
Vincent Laviron 31a14e3082 Fix the regression test 2020-01-24 14:50:48 +01:00
Vincent Laviron e67806a1aa Changes 2020-01-24 14:32:12 +01:00
Vincent Laviron 643fe20ab0 Add regression test 2020-01-24 14:29:56 +01:00
Vincent Laviron fffea6b8da Fix Rec_check for let module _ = .. 2020-01-24 14:17:42 +01:00
Florian Angeletti b5176bf74c
Merge pull request #9256 from gadmm/fix-compat-include
Revert an include of compatibility.h
2020-01-23 09:11:31 +01:00
Guillaume Munch-Maccagnoni cebb0ce91e Revert an include of compatibility.h
Before a7b5bb6f06 from #8713, includes of compatibility.h used to be
all guarded by `#ifndef CAML_NAME_SPACE`. The solution at a7b5bb6f06
required to change two of those guard into `#ifndef CAML_INTERNALS`.
The solution finally retained for 4.10 at #9253 (646d30404e in
trunk) does not depend on this change anymore, and one of the two
guards was changed back into `#ifndef CAML_NAME_SPACE`. This patch
changes the second one back as before.

Since a second CAML_NAME_SPACE guard is contained in compatibility.h,
the potential impact is limited to two of the macros that are not
guarded in this way: caml_stat_top_heap_size and caml_stat_heap_size,
and limited to programs that somehow came to rely on this in 4.10.

Since this patch reverts the situation as in 4.09, the current patch
is preferable to include in 4.10, and it is very low risk.

No Changes needed.
2020-01-22 12:00:30 -03:00
Gabriel Scherer 646d30404e Merge pull request #9253 from Octachron/easier_compat
4.10, #9205: move back caml_* to thematic headers

(cherry picked from commit 036495ba5c97ff96962d1e6f746e72a5836a4946)
2020-01-21 22:02:57 +01:00
Florian Angeletti fab20cf13d
Merge pull request #9232 from Octachron/clty_path_for_hash_types
Allow class type paths in #-types
2020-01-21 11:05:52 +01:00
Florian Angeletti dc56d71b53 types: allow class type paths in #t 2020-01-20 17:21:02 +01:00
Leo White 73554e3aa9
Merge pull request #1132 from lpw25/relax-poly-types
* Relax the handling of explicit polymorphic types

* Fix level handling in unify_rows for the fixed case
2020-01-20 16:06:34 +00:00
Leo White 33d4540a9d Add Changes entry 2020-01-20 13:48:16 +00:00
Leo White c272447b1e Relax the handling of explicit polymorphic types 2020-01-20 13:48:16 +00:00
Leo White ec748c04c1 Fix level handling in unify_rows for the fixed case 2020-01-20 13:48:16 +00:00
David Allsopp b03c1c78c7 Add --disable-ocamltest 2020-01-16 16:50:27 +00:00
David Allsopp 075154df54 Define ARCH_ALIGN_INT64
Missed in the autoconf conversion
2020-01-16 16:03:17 +00:00
Gabriel Scherer 82d7971b4f
Merge pull request #9237 from gasche/format-update-geometry
Format.pp_update_geometry: formatter -> (geometry -> geometry) -> unit
2020-01-15 22:37:37 +01:00
Armaël Guéneau 018d45aff1
Merge pull request #9226 from yallop/seq-unfold
Add Seq.unfold.
2020-01-15 20:13:42 +01:00
Jeremy Yallop 73a37d45f8 Add Seq.unfold. 2020-01-15 15:38:46 +00:00
Armaël Guéneau 390d4e3ce5
Merge pull request #9227 from yallop/bool-identity
Make Bool.to_int primitive.
2020-01-15 13:27:29 +01:00
Jacques-Henri Jourdan c4d7bcd352 Memprof: get precise callstacks when memory is allocated directly in the bytecode interpreter.
This includes two changes: first, in bytegen.ml, we add a pseudo-event after every allocation or closure instruction. Second, in the interpreter, we save the current PC in the interpreter stack in [Setup_for_gc].
2020-01-15 11:59:51 +01:00
Gabriel Scherer bc574f542e [minor] Format: factorize check_geometry to avoid invariant duplication 2020-01-14 16:26:21 +01:00
Gabriel Scherer c41b282899 Format.pp_update_geometry: formatter -> (geometry -> geometry) -> unit
This lets users write code that is robust to the addition of new
geometry fields.

    Format.(pp_update_geometry ppf (fun geo -> {geo with ...}))

Today the only way to set the geometry is

    Format.pp_set_geometry ppf ~margin ~max_indent

we cannot add optional parameters after the [ppf] argument, and adding
new labeled parameters would break user code.

(Also: it's often convenient to work with the record directly, for
example to reset a previous geometry saved with [pp_get_geometry];
this is indirectly provided by [pp_update_geometry].)
2020-01-14 16:26:21 +01:00
Gabriel Scherer 87b027d9ec [minor] fix an indentation mistake in Format.pp_set_geometry 2020-01-14 16:23:18 +01:00
Gabriel Scherer 09da7dd659 [minor] fix PR number in Changes
(report by Gaëtan Gilbert)
2020-01-14 15:35:29 +01:00
Stephen Dolan 06cd55c875
Merge pull request #9239 from jhjourdan/memprof_start_stop
Memprof API: cannot be started/stopped if already running/not running.
2020-01-14 10:56:00 +00:00
Jacques-Henri Jourdan e1a22e80fb Memprof API: cannot be start if already running, cannot be stopped if not already running. 2020-01-14 10:42:16 +01:00
Jeremy Yallop 38eb6d5f64
Add Array.for_all2 and Array.exists2 (#9235)
* Partially revert "Removed for_all2, exists2 and find again."

This partially reverts commit 83dcf62ebf.

(Restore for_all2 and exists2.)

* Partially revert "Fixed typos and changed exists2 and for_all2."

This partially reverts commit 7a082785be.

* Array.(for_all2,exists2): simplify documentation; add @since annotations

* Changes: remove trailing whitespace
2020-01-13 13:52:39 +00:00
Gabriel Scherer 401ff41e4d
Merge pull request #9238 from jhjourdan/memprof-no-tags
Drop support for tags in memprof.
2020-01-11 14:38:29 +01:00
Jacques-Henri Jourdan 0c8416478c Drop support for tags in memprof.
They are somewhat difficult to handle for native allocations, and it is not clear how useful they are. Moreover, they are easy to add back since [Gc.Memprof.allocation] is a private record.
2020-01-11 13:19:10 +01:00
Gabriel Scherer 8a79f6ce59
Merge pull request #9021 from Octachron/longident_parser
Expose parsers for Longident.t
2020-01-10 11:23:09 +01:00
Florian Angeletti 4fdba2f638 Merge pull request #9185 from hhugo/fix-unused-open
fix spurious 'unused open' warning with classes and polymorphic variants

(cherry picked from commit d2c4e791fad6340c74abf741af3e79eb1f9c20d7)
2020-01-10 09:49:02 +01:00
Gabriel Scherer 8d8e991ced
Merge pull request #9208 from gasche/dno-locations
-dno-locations: hide source locations (and debug events) from intermediate-representation dumps
2020-01-10 06:56:48 +01:00
Florian Angeletti 40e40a9c20 compilerlibs: expose parsers for 'Longident.t's 2020-01-09 16:45:39 +01:00
Gabriel Scherer fc9f00509d Changes entry for #9212
(cherry picked from commit 7bf11b9d8c79b187d7b460f1656d601f6a29a1a0)
2020-01-09 15:28:42 +01:00
Gabriel Scherer 50da1ce8c3 Merge pull request #9212 from kit-ty-kate/fix-dynlink
Fix access to C symbols when using Dynlink

(cherry picked from commit c67990cedea7932b5b1a877c1479c9b7b9f910da)
2020-01-09 15:28:38 +01:00
Gabriel Scherer 8938886721 -dno-locations: hide source locations (and debug events) from IR dumps
This PR was tested with also the -dsel, -dlinear output (also fixed to
not-print locations), but the output is architecture-dependent so this
part of the test was removed.
2020-01-09 15:25:16 +01:00
Gabriel Scherer 780f175895
Merge pull request #9233 from stedolan/bytecode-stack-restore
Restore the bytecode stack after an allocation.
2020-01-09 13:50:20 +01:00
Stephen Dolan 7c281fd8c3 changes 2020-01-09 11:00:48 +00:00
Stephen Dolan ad76dbe42d Restore the bytecode stack after an allocation.
If an asynchronus callback does enough calls to reallocate the
stack, then the interpreter should restore it from extern_sp
after the GC returns.
2020-01-09 10:57:07 +00:00
Gabriel Scherer 96c3ed8859
Merge pull request #9231 from jhjourdan/after_event_c_tailcall
Make ocamlc preserve events after primitives even if they are at tail position.
2020-01-09 10:00:24 +01:00
Jacques-Henri Jourdan 52661f14a4 Make ocamlc preserve events after primitives even if they are at tail position. 2020-01-09 00:16:42 +01:00
Gabriel Scherer 9f9bab72be fix a typo in #9211
(The typo was caught by make's undefined-variables warning on the INRIA CI)
2020-01-08 10:32:46 +01:00
Gabriel Scherer 0a0078b91d Changes: 8190 was cherry-picked in the 4.09 branch 2020-01-08 10:27:29 +01:00
Gabriel Scherer 57d0b65e52 Changes: 8855, 8858 were backported into 4.09 (a while ago) 2020-01-08 10:27:29 +01:00
Gabriel Scherer 9e4528b104 Changes: #9128 was cherry-picked in the 4.09 branch 2020-01-08 10:27:29 +01:00
Gabriel Scherer 73bed21afe
Merge pull request #9225 from stedolan/bytecode-debug-info-dropped
Do not drop bytecode debug info after C calls
2020-01-07 22:05:09 +01:00
Gabriel Scherer 11b518258a
Merge pull request #9128 from jhjourdan/caml_atom_table_padding
Add padding before and after the atom table
2020-01-07 16:47:09 +01:00