Commit Graph

2510 Commits (a9be9a4dbabfa18a9983f4d3846e03f761816480)

Author SHA1 Message Date
Gabriel Scherer 1d544341d9 update Changes to a8b29dba cherry-pick 2019-06-05 14:45:17 +02:00
Gabriel Scherer a8b29dba4c
Merge pull request #8712 from stedolan/infix-tag-dummy
Fix code generation with nested let rec of functions
2019-06-05 14:32:11 +02:00
Jacques-Henri Jourdan 63a16e8e67 Major GC hooks are no longer allowed to interact with the GC heap. (#8711)
Earlier documentation comments suggested that major GC hooks can do things with the GC-managed heap.  This is problematic and not used in practice.

This commit changes the documentation comments to make it clear that major GC hools are not allowed to interact with the GC-managed heap.
2019-06-04 19:58:20 +02:00
Stephen Dolan d946686ffc Code generation and runtime fix for #8699, #8681 2019-06-04 10:33:17 +01:00
Greta Yorsh e7aef3aa6f Fix amd64 and i386 emitters of Lcondbranch3 (#8677)
Use unsigned comparisons (jb/ja) in amd64 and i386 emitters of Lcondbranch3,
instead of the previous mixture of unsigned  and signed comparisons (jb/jg).
2019-06-03 16:30:34 +02:00
Stephen Dolan cb26e5bfc1 Changes 2019-05-27 16:05:17 +01:00
Stephen Dolan 35ea7eb9a4 Avoid rebuilding the world when files containing primitives change. 2019-05-27 13:24:41 +01:00
Gabriel Scherer 101cd9e274
Merge pull request #8692 from lpw25/remove-may-map
Remove Misc.may_map and similar
2019-05-24 15:24:33 +02:00
Leo White d3ae49c9aa Add Changes entry 2019-05-24 13:18:59 +01:00
Gabriel Scherer e973cde5a4
Merge pull request #8685 from Fourchaux/trunk
Fixing misspellings
2019-05-24 06:58:30 +02:00
Fourchaux 10ed7b29d9
Update Changes
Revert "explicitely"
2019-05-23 19:24:46 +02:00
Gabriel Scherer 01b93c8596 Revert "Merge pull request #8690 from stedolan/primitives-rebuilding"
This reverts commit 74cf20429d, reversing
changes made to 295ee133dd.
2019-05-23 10:54:00 +02:00
Stephen Dolan e3d2c28ad9 Avoid rebuilding the world when files containing primitives change. 2019-05-22 16:05:48 +01:00
Gabriel Scherer 3d40aa84bc Merge pull request #8686 from fdagnat/patch-1
Remove duplicated entry

(cherry picked from commit b022bb31e25c82f0d2da6d2087bca28dc2f4836e)
2019-05-21 12:17:49 +02:00
David Allsopp c37a6e5d90
Fix --with-pic in configure (#8632)
--with-pic should be adding -fPIC (or equivalent) to $internal_cflags,
not $common_cflags. Additionally, unused variable aspp was being
updated, instead of ASPP.
2019-05-21 11:07:47 +01:00
JPR 6dc59549ce Fixing misspellings 2019-05-21 10:23:27 +02:00
Sébastien Hinderer b694e84aff configure: fix libunwind and spacetime support 2019-05-20 16:37:41 +02:00
Jacques-Henri Jourdan cea1ff7534 Memprof sampling for blocks in the minor heap, allocated by C code.
Allocations ignored by this version
- Marshalling
- In the minor heap by natively-compiled OCaml code

Allocations potentially sampled
- In the major heap
- In the minor heap by C code and OCaml code in bytecode mode
2019-05-20 13:04:28 +02:00
Gabriel Scherer 328e9c4a7a check-typo fix... 2019-05-15 17:16:04 +02:00
Gabriel Scherer 42ac055031 improve the Changes for 4.08
Just for this one, I gave up on the idea of sorting the items by issue
number, and I tried to put first the items that will be of interest to
the widest number of users. (Within each section, and then sections
ordered following roughly the same principle.) Very subjective and
objectionable, but there you go.
2019-05-15 14:13:12 +02:00
Gabriel Scherer 14b37dfc2e minor Changes fixes 2019-05-14 14:52:27 +02:00
octachron e7c72ed709 multi-indices for extended indexing operators 2019-05-13 15:26:49 +02:00
Pierre Chambart 8b70a5672d Move Change entry for #2288 to the right section 2019-05-10 15:17:42 +02:00
Mark Shinwell 6cbdfad125 Move some code from Asmgen to the middle end directory etc. (#2288)
Followup to (#2281)
2019-05-10 15:11:22 +02:00
Damien Doligez 12cfc54013 add a section for 4.09 in Changes 2019-05-10 14:37:15 +02:00
Gabriel Scherer 6babd25e3a
Merge pull request #8634 from jhjourdan/memprof_major
Statistical memory profiling, part 1: blocks allocated in the major heap
2019-05-09 22:15:13 +02:00
Jacques-Henri Jourdan 052a950dea Statistical memory profiling of blocks allocated in the major heap. 2019-05-09 16:40:45 +02:00
Sébastien Hinderer 17feab2a4f
configure: use variables rather than arguments for a few options (#8616)
This commit replaces a few configure command-line options by configuration
variables:

- "--with-dllibs" is replaced by DLLIBS
- "--with-reserved-header-bits" is replaced by RESERVED_HEADER_BITS
- "--with-default-string" is replaced by DEFAULT_STRING
2019-05-09 16:39:06 +02:00
Ulugbek Abdullaev 3faa589666 typing/typeclass.ml: refactor some long tuples into a record
The following functions were migrated to a record:
extract_type_decls, merge_type_decls, final_env, check_coercions
2019-05-08 15:53:35 +02:00
Gabriel Scherer 7f9913b1c9
Merge pull request #8656 from jhjourdan/gen_root_bug
Fix a bug in [caml_modify_generational_global_root]
2019-05-06 21:41:04 +02:00
Gabriel Scherer bcf176cfd5 minor Changes fixup 2019-05-06 11:41:45 +02:00
Jacques-Henri Jourdan d741f45849 No need to call [caml_initialize] in [caml_make_vect], since we make sure the initial value is not in the minor heap. 2019-05-05 17:02:32 +02:00
Jacques-Henri Jourdan 8d4750b3a4 Fix a bug in [caml_modify_generational_global_root]
When the old value was static (i.e., boxed, but outside of the major
and the minor heaps) but the new value pointed to one of the two
heaps, then the root was not re-inserted in the lists.

Dually, when the new value is static but the old only points to one of
the two heaps, then the root has to be removed, otherwise it will stay
in the lists, and be scanned by the GC even after being unregistered.
2019-05-05 16:40:29 +02:00
Nicolás Ojeda Bär ea6573fda1
Implement Unix.truncate and Unix.ftruncate on Windows (#2023) 2019-05-05 09:57:48 +02:00
Stephen Dolan c24e5b5c8a Ensure that Gc.minor_words remains accurate after a GC (#8619)
If an allocation fails, the decrement of young_ptr should be undone
before the GC is entered. This happened correctly on bytecode but not
on native code.

This commit (squash of pull request #8619) fixes it for all the
platforms supported by ocamlopt.

amd64: add alternate entry points caml_call_gc{1,2,3} for code size
optimisation.

powerpc: introduce one GC call point per allocation size per function.
Each call point corrects the allocation pointer r31 before calling
caml_call_gc.

i386, arm, arm64, s390x: update the allocation pointer after the
conditional branch to the GC, not before.

arm64: simplify the code generator: Ialloc can assume that less than
0x1_0000 bytes are allocated, since the max allocation size for the
minor heap is less than that.

This is a partial cherry-pick of commit 8ceec on multicore.
2019-05-04 10:01:23 +02:00
David Allsopp 8838dc7527 Don't generate #! headers over 127 characters
A #! line should not exceed 128 characters (including the \0
terminator). This adds a test - both to the generation of the camlheader
files and also to the -use-runtime flag which falls back to #!/bin/sh
and uses exec to invoke the the interpreter.
2019-05-02 20:29:49 +02:00
Xavier Leroy e8792cc7ff Add Changes entry for #8650 2019-05-02 19:47:34 +02:00
Pieter Goetschalckx 4a72f59165
Update changes entry 2019-04-26 15:22:50 +02:00
Pieter Goetschalckx 77b2ad5d45
Add changes entry 2019-04-26 15:21:02 +02:00
Jeremie Dimino 1f026fd748 Fix #8635 2019-04-23 12:20:37 +01:00
David Allsopp f89a9dab5f Update Changes for #8627 2019-04-19 22:27:20 +02:00
David Allsopp 4dc48fafaf Enable SSE2 for i686 mingw32
GCC 7.4 generates incorrect code for caml_round by using 80-bit registers
instead of 64-bit registers for the calculations.
2019-04-19 20:44:49 +02:00
Jacques Garrigue 1a17d4d355 add PR number for #7851 2019-04-19 11:18:20 +09:00
Jacques Garrigue 4fe08b25d6
Fix #7851 by checking type declaration coherence for recursive modules (#8570) 2019-04-19 10:57:55 +09:00
Thomas Refis a8fd17f8ce
Merge pull request #8586 from trefis/pr8548
Explicitly rescope idents when substituting signatures
2019-04-16 13:10:40 +01:00
Nicolás Ojeda Bär 51edd5117f
Merge pull request #8607 from stedolan/sane-nan
Remove LACKS_SANE_NAN and LACKS_VCSPRINTF.
2019-04-16 12:18:20 +02:00
Thomas Refis af8d7c75af Changes 2019-04-16 10:56:24 +01:00
Florian Angeletti b83d4730df
#8610: toplevel printing, consistent deduplicated name for types (#8613)
* Fix `Printtyp.print_items` final state 
* make `Printtyp.tree_of_type_declaration` more cautious when hiding the declared type within the body of the declaration.
* test
2019-04-15 19:35:59 +02:00
Stephen Dolan 5b12eb53f5 Remove LACKS_SANE_NAN and LACKS_VCSPRINTF.
These were present only for MSVC 2002, which is no longer supported.
2019-04-15 16:11:29 +01:00
Andrew Litteken d4ef2eecea Custom Exception Handlers at toplevel (#8594)
fixes #7156 

Two new functions exposed:

```ocaml
val to_string_default: exn -> string
(** [Printexc.to_string_default e] returns a string representation of the
    exception [e], ignoring all registered exception printers.
    @since 4.09
*)

val use_printers: exn -> string option
(** [Printexc.use_printers e] returns [None] if there are no registered
    printers and [Some s] with else as the resulting string otherwise.
    @since 4.09
*)
```
2019-04-14 15:38:27 +02:00