Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove arm, i386 native-code backends (#11904) | Nicolás Ojeda Bär | 2023-01-22 | 1 | -4/+0 |
| | |||||
* | Remove uses of ;; from the codebase | Sébastien Hinderer | 2022-02-25 | 1 | -1/+0 |
| | |||||
* | Introduce atomic loads in Cmm and Mach IRs | Olivier Nicole | 2022-02-01 | 1 | -2/+2 |
| | |||||
* | Merge commit 'edf0075888ec27a50c4f50f76dba46f730797651' into 5.00_rebase_to_pr | Tom Kelly | 2021-12-20 | 1 | -0/+2 |
|\ | |||||
| * | Add [@poll error] attribute (#10462) | Sadiq Jaffer | 2021-11-09 | 1 | -0/+2 |
| | | |||||
* | | Merge commit '2250fd8a2218796c07b0a25f184cdc682e4695ba' into 5.00_rebase_to_pr | Tom Kelly | 2021-12-20 | 1 | -2/+10 |
|\ \ | |/ | |||||
| * | Enable if-then-else elimination in Cmmgen | Vincent Laviron | 2021-10-21 | 1 | -2/+10 |
| | | |||||
* | | remove multicore nop debugging (reverts ocaml-multicore#384) | Tom Kelly | 2021-10-08 | 1 | -13/+15 |
| | | |||||
* | | Merge commit 'b720b583a1d8eeeb295adbf597c6d2ddf994c1cd' into ↵ | Tom Kelly | 2021-09-30 | 1 | -1/+1 |
|\ \ | |/ | | | | | parallel_minor_gc_4_13 | ||||
| * | Keep Sys.opaque_identity in Cmm and Mach (#9412) | Stephen Dolan | 2021-04-15 | 1 | -1/+1 |
| | | | | | | | | Keep Sys.opaque_identity in Cmm and Mach | ||||
* | | Merge commit 'aced66c380f00a42e18a3b08e70bea87c419b2a0' into ↵ | Tom Kelly | 2021-09-30 | 1 | -6/+9 |
|\ \ | |/ | | | | | parallel_minor_gc_4_13 | ||||
| * | Improve code-generation for inlined comparisons (#10228) | Stephen Dolan | 2021-02-22 | 1 | -6/+9 |
| | | | | | | | | Compile `if (let x = E in COND) then IFSO else IFNOT` like `let x = E in if COND then IFSO else IFNOT`. | ||||
* | | Remove fun_suppress_polls | Mark Shinwell | 2021-09-06 | 1 | -2/+0 |
| | | |||||
* | | add polling at mach layer | Sadiq Jaffer | 2021-09-06 | 1 | -5/+5 |
| | | |||||
* | | Add primitive for fetching dls state | KC Sivaramakrishnan | 2021-06-10 | 1 | -3/+6 |
| | | |||||
* | | Merge commit '86c8a98f3c36b25c2e3f2185c24809d0babad5b4' into ↵ | Tom Kelly | 2021-03-08 | 1 | -9/+9 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | Remove labels after calls, checkbound, and GC points | Nicolás Ojeda Bär | 2020-10-08 | 1 | -4/+4 |
| | | |||||
| * | Remove Cblockheader | Nicolás Ojeda Bär | 2020-10-08 | 1 | -2/+2 |
| | | |||||
* | | Merge commit 'eb342da8a9cdbce0760b91c9b9d5e682ed0d4496' into ↵ | Tom Kelly | 2021-03-08 | 1 | -20/+23 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | Ensure all structured constants are registered (#9940) | Vincent Laviron | 2020-10-06 | 1 | -1/+4 |
| | | | | | | | | Allocated constants from other compilation units were not registered, resulting in missed opportunities for unboxing FP and boxed-integer constants. | ||||
| * | Use Cmm_helpers for boxed int arithmetic (#9959) | Stephen Dolan | 2020-10-05 | 1 | -19/+19 |
| | | | | | | | | This way, Cmm's arithmetic optimisations also apply to boxed integer arithmetic. | ||||
* | | Merge commit 'e41dc9c44327f40c1ab0feea12f779c931c9e31e' into ↵ | Tom Kelly | 2021-03-04 | 1 | -15/+27 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | Revised passing of arguments to external C functions | Xavier Leroy | 2020-07-24 | 1 | -12/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the type Cmm.exttype to precisely describe arguments to external C functions, especially unboxed numerical arguments. Annotate Cmm.Cextcall with the types of the arguments (Cmm.exttype list). An empty list means "all arguments have default type XInt". Annotate Mach.Iextcall with the type of the result (Cmm.machtype) and the types of the arguments (Cmm.exttype list). Change (slightly) the API for describing calling conventions in Proc: - loc_external_arguments now takes a Cmm.exttype list, in order to know more precisely the types of the arguments. - loc_arguments, loc_parameters, loc_results, loc_external_results now take a Cmm.machype instead of an array of pseudoregisters. (Only the types of the pseudoregisters mattered anyway.) Update the implementations of module Proc accordingly, in every port. Introduce a new overridable method in Selectgen, insert_move_extcall_arg, to produce the code that moves an argument of an external C function to the locations returned by Proc.loc_external_arguments. Revise the selection of external calls accordingly (method emit_extcall_args in Selectgen). | ||||
* | | Merge commit '9d4679f338ae0c66de2dc16ea7d9e87c05fe6b9b' into ↵ | Tom Kelly | 2021-03-02 | 1 | -4/+8 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | New representation of closures, native-code compilation | Xavier Leroy | 2020-06-05 | 1 | -4/+8 |
| | | | | | | | | | | In code that builds closures, instead of the old arity field, produce a closure information field encoding arity + position of environment. | ||||
* | | Merge commit '0ca651b95cbda5d58f7760f0fa1dba965d1f0828' into ↵ | Tom Kelly | 2021-03-02 | 1 | -14/+8 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | Remove Const_pointer from Lambda and Clambda (#9585) | Stephen Dolan | 2020-06-02 | 1 | -14/+8 |
| | | | | | | | | | | | | | | | | | | | | | | Lambda and Clambda distinguish Const_int from Const_pointer only so that they can pass the information to Cmm. But now that that Const_pointer is gone from Cmm (#9578), there's no need for the distinction in Lambda either. This PR requires a bootstrap, because the .cmo format changes: Lambda.structured_constant has one fewer constructor. The bootstrap is in the following commit. | ||||
* | | Merge commit '71e91123c27780fdfeca93c6c57c2f9af5417e54' into ↵ | Tom Kelly | 2021-03-02 | 1 | -16/+2 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | Move float compare from cmmgen to cmm_helpers | Greta Yorsh | 2020-05-27 | 1 | -17/+3 |
| | | |||||
| * | Bind arguments of integer and float compare in cmmgen | Greta Yorsh | 2020-05-27 | 1 | -17/+17 |
| | | |||||
| * | Avoid creating ill-formed blocks in Cmm letrec (#9577) | Stephen Dolan | 2020-05-25 | 1 | -1/+1 |
| | | | | | | | | | | Use "1" (integer 0) as filler value instead of "0" (null pointer). Fixes: 7718 | ||||
* | | Merge commit '41548a735900a74202b07f918521ef9ac52ece1e' into ↵ | Tom Kelly | 2021-03-02 | 1 | -8/+8 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | Remove Const_pointer (#9578) | Stephen Dolan | 2020-05-19 | 1 | -8/+8 |
| | | | | | | | | Since #9316 was merged, Cconst_pointer is compiled in exactly the same way as Cconst_int. This commit removes the now-redundant Cconst_pointer and Cconst_natpointer. | ||||
* | | Merge commit '8f85e002b2e1f3f4ccf8fefa5ad9a137109168d1' into ↵ | Tom Kelly | 2021-03-01 | 1 | -6/+5 |
|\ \ | |/ | | | | | parallel_minor_gc_4_12 | ||||
| * | Replace Location.t with Lambda.scoped_location in Lambda code | Stephen Dolan | 2020-04-27 | 1 | -6/+5 |
| | | | | | | | | | | | | This commit threads scopes through translation from Typedtree to Lambda, extending the scopes when entering functions, modules, classes and methods. | ||||
* | | Merge commit 'd5dadae8ed403a34f31c8eb61606d1d38f77c561' into ↵ | Tom Kelly | 2021-03-01 | 1 | -8/+7 |
|\ \ | |/ | | | | | parallel_minor_gc_4_11b | ||||
| * | Fix Cmm type of unboxed Int64 values in Clet_mut | Vincent Laviron | 2020-04-18 | 1 | -8/+7 |
| | | |||||
* | | Merge commit '017d4a3eaddbd2b25649d04ed576258e4ddf60cc' into ↵ | Tom Kelly | 2021-03-01 | 1 | -1/+28 |
|\ \ | |/ | | | | | parallel_minor_gc_4_11b | ||||
| * | Replace caml_int_compare and caml_float_compare with primitives (#2324) | Greta Yorsh | 2020-03-26 | 1 | -1/+28 |
| | | |||||
* | | Merge commit 'b82d5194c21fcb96a2a2f8aec8af396056910460' into ↵ | Tom Kelly | 2021-03-01 | 1 | -6/+17 |
|\ \ | |/ | | | | | parallel_minor_gc_4_11b | ||||
| * | Use typing information from Clambda for mutable Cmm variables | Stephen Dolan | 2020-02-25 | 1 | -6/+17 |
| | | |||||
* | | Merge upstream updates | KC Sivaramakrishnan | 2020-11-06 | 1 | -1/+3 |
|\ \ | |||||
| * | | Use Word_val for pointers with Patomic_load | Tom Kelly | 2020-08-21 | 1 | -1/+3 |
| | | | |||||
* | | | Add a primitive to insert nop instruction | KC Sivaramakrishnan | 2020-07-31 | 1 | -3/+5 |
|/ / | |||||
* | | removal of Cloadmut | Tom Kelly | 2020-07-14 | 1 | -16/+2 |
| | | |||||
* | | rebase ocaml-multicore PR328: Get multicore compiler working with flambda | Tom Kelly | 2020-05-01 | 1 | -2/+22 |
| | | |||||
* | | Merge commit 'f4b30f0a9b93a51317272812c33441326881f9ae' into ↵ | Tom Kelly | 2020-04-30 | 1 | -21/+42 |
|\ \ | |/ | | | | | parallel_minor_gc_4_10 | ||||
| * | Remove the transformation untag_int(tag_int x) = x. (#9032) | Stephen Dolan | 2019-10-14 | 1 | -6/+15 |
| | | | | | | | | | | | | | | | | 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. | ||||
| * | Avoid redundant sign-extensions for int32 on 64-bit platforms. | Stephen Dolan | 2019-10-14 | 1 | -15/+27 |
| | | |||||
* | | Merge commit 'dbd717e817307dc6a527dd54cc1c9765b30cfad2' into ↵ | Tom Kelly | 2020-04-29 | 1 | -2649/+112 |
|\ \ | |/ | | | | | parallel_minor_gc_4_10 |