summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* best-fit allocator (#8809)Damien Doligez2019-10-1514-277/+1624
|
* Update tests for CRLF checkoutsDavid Allsopp2019-10-151-0/+1
|
* Deprecate the addr typedef (#8896)David Allsopp2019-10-143-8/+23
| | | | | The typedef was guarded by CAML_INTERNALS, but given its accidental use in the public Is_young macro, mark the typedef as deprecated in case CAML_INTERNALS is being defined "in the wild" to workaround this.
* Remove the transformation untag_int(tag_int x) = x. (#9032)Stephen Dolan2019-10-146-33/+49
| | | | | | | | This transformation is incorrect for certain large values of x, as it can get the wrong value in the high bit. In certain cases where the high bit is not used (esp. storing a byte into a string), the transformation is kept intact. Fixes #9028.
* Merge pull request #9006 from stedolan/int32-compilationXavier Leroy2019-10-149-27/+97
|\ | | | | Int32 code generation improvements on 64 bit platforms: fewer sign extensions + faster AMD64 instruction sequence for zero extensions.
| * Improve code-generation for 32-to-64-bit zero-extension on amd64.Stephen Dolan2019-10-146-2/+23
| |
| * Avoid redundant sign-extensions for int32 on 64-bit platforms.Stephen Dolan2019-10-143-25/+74
| |
* | Warn about unused functor parameters (#8891)Thomas Refis2019-10-1423-46/+125
| |
* | Changes: fix the placement of the #8651 entryGabriel Scherer2019-10-141-4/+4
| |
* | Merge pull request #8651 from proux01/printf-hGabriel Scherer2019-10-149-77/+119
|\ \ | | | | | | Add printf '%#F' to output floats in hexadecimal OCaml constants
| * | Add printf `%#F` to output floats in hexadecimal OCaml constantsPierre Roux2019-09-269-77/+119
| | |
* | | Better stack backtraces for C calls in bytecode (#8641)Jacques-Henri Jourdan2019-10-1217-98/+74
| | | | | | | | | | | | | | | | | | | | | | | | The previous mechanism worked for C calls that raise an exception, but not for C calls that call back into OCaml code which raises an exception. This commit addresses the issue by saving the PC in the interpreter stack before a C call, so that the backtrace mechanism always sees it. However, if an external is declared in the .ml file and exposed in the .mli file as a val, then ocamlc generates a wrapper that adds a spurious entry in the stack frame. In this PR, this change in behavior results in the re-declaration of Printexc.get_callstack as an external instead of a val, so that the spurious stack frame does not appear in call stacks obtained from Printexc.get_callstack.
* | | Merge pull request #8840 from gasche/tools-ocamlc.optGabriel Scherer2019-10-129-20/+78
|\ \ \ | | | | | | | | Build system: use ocaml{c,opt}.opt instead of ocaml{c,opt} when available
| * | | ChangesGabriel Scherer2019-10-121-0/+4
| | | |
| * | | nicer style in Makefile.best_binariesXavier Leroy2019-10-121-24/+17
| | | |
| * | | Makefile.best_binaries: only use the native tool when it is newer (not stale)Gabriel Scherer2019-10-121-17/+24
| | | |
| * | | otherlibs Makefiles: use ocaml{c,opt}.opt when availableGabriel Scherer2019-10-123-7/+11
| | | | | | | | | | | | | | | | On my machine, the sequential build time goes from 30s to 10s.
| * | | debugger Makefile: use ocamlc.opt when availableGabriel Scherer2019-10-121-3/+4
| | | | | | | | | | | | | | | | On my machine the sequential build time goes from 3.7s to 1.3s
| * | | ocamltest Makefile: use ocaml{c,opt}.opt when availableGabriel Scherer2019-10-121-4/+5
| | | | | | | | | | | | | | | | On my machine the sequential build time goes from 7.5s to 3.5s.
| * | | ocamldoc Makefile: use .opt versions of the build tools when availableGabriel Scherer2019-10-121-4/+6
| | | | | | | | | | | | | | | | | | | | On my machine, a sequential build of (make all allopt) goes from 31s to 11s, and a parallel build (-j5) goes from 16s to 6s.
| * | | Makefile.best_binaries: best-effort commands for OCAML{C,OPT,DEP,LEX}Gabriel Scherer2019-10-121-0/+46
| | | |
| * | | Makefile: minor fix to the ocamltest rulesGabriel Scherer2019-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (make -C ocamltest) will run the first rule of the ocamltest Makefile, which happens to be the 'all' rule. This is not robust to the addition of new rules in some of the included Makefile, and indeed a previous version of the previous commit broke it inadvertently.
* | | | Don't use addr typedef in Is_youngDavid Allsopp2019-10-122-2/+6
| | | | | | | | | | | | | | | | addr type is internal, but Is_young is not.
* | | | Regenerate dynlink_compilerlibs Makefile correctlyDavid Allsopp2019-10-111-1/+1
| | | |
* | | | Merge pull request #9027 from jhjourdan/fix_8691Gabriel Scherer2019-10-117-27/+66
|\ \ \ \ | | | | | | | | | | Fixes to #8691
| * | | | Update Changes.Jacques-Henri Jourdan2019-10-111-9/+9
| | | | |
| * | | | Add test for #9027.Jacques-Henri Jourdan2019-10-112-0/+32
| | | | |
| * | | | Now that we always check for async callbacks in [caml_alloc_small_dispatch], ↵Jacques-Henri Jourdan2019-10-111-6/+1
| | | | | | | | | | | | | | | | | | | | we can use [young_limit] to check for signals both in bytecode and native modes.
| * | | | Make sure async callbacks and urgent GC requests are called for every call ↵Jacques-Henri Jourdan2019-10-111-6/+23
| | | | | | | | | | | | | | | | | | | | to [caml_alloc_small_dispatch].
| * | | | Remove dead variables [caml_memprof_to_do] and [caml_final_to_do].Jacques-Henri Jourdan2019-10-112-6/+1
|/ / / /
* | | | Merge pull request #8670 from stedolan/stack-overflow-fixXavier Leroy2019-10-118-44/+46
|\ \ \ \ | |/ / / |/| | | Fix stack overflow detection with systhreads.
| * | | Remove excessive stack usage in caml_get_exception_raw_backtraceStephen Dolan2019-08-271-21/+4
| | | | | | | | | | | | | | | | | | | | caml_alloc is now used allocate backtraces, which is safe now that caml_alloc can't call async callbacks.
| * | | Fix stack overflow detection with systhreadsStephen Dolan2019-08-277-23/+42
| | | |
* | | | Merge pull request #9023 from Octachron/only_raise_need_backtrack_inside_orGabriel Scherer2019-10-102-26/+33
|\ \ \ \ | | | | | | | | | | type_pat: restrict the use of Need_backtrack
| * | | | ChangesFlorian Angeletti2019-10-081-2/+4
| | | | |
| * | | | typecore: raise Need_backtrack => Inside_orFlorian Angeletti2019-10-081-18/+18
| | | | |
| * | | | find_valid_alternativesFlorian Angeletti2019-10-081-10/+15
| | | | |
* | | | | a better representation for modules with no name (#8908)Thomas Refis2019-10-0952-4291/+4818
| |_|_|/ |/| | |
* | | | update typing/TODO.mdGabriel Scherer2019-10-081-0/+25
| | | |
* | | | Merge pull request #9015 from damiendoligez/fix-pr8789Gabriel Scherer2019-10-072-1/+13
|\ \ \ \ | | | | | | | | | | Fix #8789
| * | | | Fix #8789Damien Doligez2019-10-042-1/+13
| | | | |
* | | | | Merge pull request #8995 from dra27/dev-optsGabriel Scherer2019-10-057-2/+177
|\ \ \ \ \ | | | | | | | | | | | | Allow development configure options to be stored in Git 🏅
| * | | | | Allow by-host worktree-sharable configure cachesDavid Allsopp2019-10-055-11/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Git configuration value ocaml.configure-cache can be used to specify a directory to keep autoconf cache files in, relative to the worktree root (so `git config ocaml.configure-cache .` enables the feature, and `git config --global ocaml.configure-cache ..` enables it for all worktrees, assuming they're at the same level). autoconf's --cache-file option speeds up future runs of configure by caching the results of previous tests. The cache is invalidated if any environment variables differ (e.g. LDFLAGS) or if the build-host-target triplet differs. This is a nuisance on Windows, where configure is both very slow and it's also common to build with multiple different --host values. This PR allows a tree to be quickly reconfigured from one Windows port to another.
| * | | | | Allow Git config options to be passed to configureDavid Allsopp2019-10-056-2/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Git configuration value ocaml.configure is now passed to the configure script's arguments before $@ if (and only if) OCaml is being configured from a Git clone. This allows, for example: - Developer-specific preferences (e.g. `--disable-ocamldoc` or `--disable-debug-runtime`) - Automatic use of autoconf cach files (-C option) It is implemented by inserting a test at the top of `configure`, which is bypassed if `.git` doesn't exist.
* | | | | | Merge pull request #8835 from dra27/save-the-planetGabriel Scherer2019-10-056-2/+37
|\ \ \ \ \ \ | |/ / / / / |/| | | | | New configure option to disable building and installing library manpages
| * | | | | Make STDLIB_MANPAGES a boolean, not a targetDavid Allsopp2019-09-273-4/+9
| | | | | |
| * | | | | Add --disable-stdlib-manpages to configureDavid Allsopp2019-09-276-2/+32
| | | | | |
* | | | | | fix issue #8792 and replace log_type by set_type_desc in Btype (#9018)Jacques Garrigue2019-10-056-18/+24
| | | | | |
* | | | | | remove disambiguation for constructor map (#9017)Jacques Garrigue2019-10-041-6/+5
| | | | | | | | | | | | | | | | | | remove disambiguation for constructor map
* | | | | | Split cmmgen into generic cmm helpers and clambda-specific transformations ↵Vincent Laviron2019-10-0412-2696/+3595
| | | | | | | | | | | | | | | | | | | | | | | | (#1963)