John Whitington
28f624b919
check-typo fixes
2020-07-27 15:53:57 +01:00
Xavier Leroy
ba2b98608a
Merge pull request #9742 from jhjourdan/fix_7810
...
Make Ephemeron compatible with infix pointers.
2020-07-27 16:51:14 +02:00
John Whitington
902ca08055
Fix tools/unlabel to deal with Hashtbl injectivity
2020-07-27 15:44:35 +01:00
John Whitington
e5e7b9591a
Restore docstring variable brackets
2020-07-27 14:42:30 +01:00
John Whitington
22a158b7b2
Fix injectivity type
2020-07-27 14:32:48 +01:00
John Whitington
44403b16e8
Merge branch 'trunk' of https://github.com/johnwhitington/ocaml into trunk
2020-07-27 14:15:11 +01:00
John Whitington
bec7f8ff3d
Restore Hashtbl.rebuild in .mli, fix docstring
2020-07-27 14:12:54 +01:00
John Whitington
d0263ac0e4
Merge branch 'trunk' into trunk
2020-07-27 13:53:52 +01:00
John Whitington
33fdfffd5f
Resolving conflicts with injectivity work
2020-07-27 13:49:42 +01:00
John Whitington
7f922569c0
Replacing {!X.y} in doc comments with {!y}
2020-07-27 13:39:12 +01:00
David Allsopp
b91415d47e
Allow tools/unlabel to run from anywhere
2020-07-27 12:41:34 +01:00
David Allsopp
2b618ea026
Check that tools/unlabel is a no-op in CI
2020-07-27 12:41:21 +01:00
Florian Angeletti
ea16b1c837
Merge pull request #9750 from Octachron/release_checklist_update
...
Reorganize release information
2020-07-27 09:37:50 +02:00
EduardoRFS
cf6ecb7816
arm64: remove misleading comment
2020-07-26 21:21:37 +00:00
EduardoRFS
f817b25c76
ios: memory leak when Sys.command failed
...
* as we raised an exception, caml_stat_free never happens
Co-authored-by: Nicolás Ojeda Bär <n.oje.bar@gmail.com>q
2020-07-26 21:19:20 +00:00
Hongbo Zhang
820db1bd7a
[internal refactor] minor tweaking ( #9792 )
2020-07-26 19:25:09 +02:00
Florian Angeletti
c99cbd1101
Reorganize release info
2020-07-26 17:45:35 +02:00
Xavier Leroy
d374d7d230
tests/unwind: produce trace in case of failure
2020-07-26 11:52:46 +02:00
David Allsopp
6a4f9aef5f
Report a diff for files differing by endings only
2020-07-25 10:36:24 +01:00
David Allsopp
a651a82488
Fix handling of EOL-at-EOF in ocamltest
2020-07-25 10:04:31 +01:00
iOS Porting Team
83a06c3d15
On the iPhone simulator the machine context field has two underscores
2020-07-25 08:39:09 +00:00
EduardoRFS
69d4ab80d0
arm64: use Arch.macosx instead of is_macosx
...
Also remove the duplicated declaration from proc.ml and emit.mlp
Co-authored-by: Xavier Leroy <xavier.leroy@college-de-france.fr>
2020-07-25 08:38:11 +00:00
EduardoRFS
9a98d40b86
arm64: add reference to Apple ARM64 ABI
2020-07-25 08:37:39 +00:00
EduardoRFS
99664ee0a4
ios: dead lock on Sys.command
...
Co-authored-by: Anil Madhavapeddy <anil@recoil.org>
2020-07-25 08:37:39 +00:00
EduardoRFS
8c38ac6bf6
arm64: support ios shared library
...
* the stub on iOS also saves x8 and x9
* use x8 for ADDITIONAL_ARG
* use only 8 regs for calling args
2020-07-25 08:37:39 +00:00
EduardoRFS
bdbd867c62
arm64 runtime: use additional arg only externally
2020-07-25 08:37:39 +00:00
EduardoRFS
5e7f7c77b0
ios: add support on configure script
2020-07-25 08:37:38 +00:00
EduardoRFS
8cd474f008
ios: Sys.command is not supported
2020-07-25 08:37:06 +00:00
iOS Porting Team
d189dcef62
arm64 emitter: support apple variant of assembler
2020-07-25 08:36:23 +00:00
EduardoRFS
f323d2ad67
arm64 runtime: apply ios assembler requirements
2020-07-25 08:36:23 +00:00
EduardoRFS
42943915a7
arm64 runtime: macro for global and local symbols
2020-07-25 08:36:22 +00:00
EduardoRFS
cbcd76b4c8
arm64 runtime: remove .type, .size on local labels
2020-07-25 08:36:22 +00:00
EduardoRFS
f6c799d08f
arm64 runtime: macro pair for objects
2020-07-25 08:36:22 +00:00
EduardoRFS
32ab52c59a
arm64 runtime: macro pair for functions
2020-07-25 08:36:22 +00:00
EduardoRFS
bc1a664065
fix build when using clang
...
This is flagged (rightly so) by clang -Wimplicit-int-float-conversion.
2020-07-25 08:36:22 +00:00
EduardoRFS
4375fa82db
arm64 runtime: use x17 instead of x18(reserved)
2020-07-25 08:36:22 +00:00
Xavier Leroy
e41dc9c443
Merge pull request #9752 from xavierleroy/c-calling-conventions
...
Revised handing of calling conventions for external C functions
2020-07-25 09:50:42 +02:00
Xavier Leroy
cc25fc9342
Changes entry for #9752
2020-07-24 17:39:27 +02:00
Xavier Leroy
ed8f3b427c
ARM64 back-end: support the iOS/macOS ABI for calling external C functions
...
Unboxed arguments of type `int32` that are passed on the stack
are passed in 32-bit words instead of 64-bit words as in the AAPCS64 ABI.
To support this, we introduce a new specific operation, `Imove32`,
that compiles down to 32-bit moves or 32-bit stack loads or 32-bit
stack stores.
In the Selection pass, method `insert_move_extcall_arg`,
we generate `Imove32` instructions when required, i.e. if the
argument is an unboxed `int32` and needs to be passed on stack.
We then update `Proc.loc_external_arguments` to use 32-bit stack words
for `int32` arguments.
2020-07-24 17:39:27 +02:00
Xavier Leroy
9fcb295b98
Revised passing of arguments to external C functions
...
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).
2020-07-24 17:39:22 +02:00
Daniel Bünzli
80326033cb
ocamldep: do not process files during cli parsing. ( #9795 )
...
It leads to broken cli behaviour. Closes #9299 .
2020-07-23 21:00:26 +02:00
John Whitington
1f2daa31d3
Added injectivity annots back (clash with GPR9781)
2020-07-23 19:08:46 +01:00
John Whitington
f32c4df6df
{!Unix.xxx} changed to {!xxx} in docstrings
2020-07-23 18:55:57 +01:00
David Allsopp
b9a4de7b2d
Eliminate typo
2020-07-23 15:06:52 +01:00
David Allsopp
8b80c57fb2
Remove use of ln -sf from ocamltest
...
Implemented ln -sfT exactly on Unix and almost exactly on Windows.
2020-07-23 15:05:00 +01:00
David Allsopp
fc0abfaad8
Remove use of rm -rf from ocamltest
2020-07-23 15:04:49 +01:00
David Allsopp
9bc33d945a
Add Ocamltest_stdlib.Unix.has_symlink
...
Replaces the duplicated C stub. Functions from Unix must be explictly
imported.
2020-07-23 14:55:36 +01:00
Nicolás Ojeda Bär
f90f2b37d9
Merge pull request #9790 from dbuenzli/fix-dynlink-init
...
Fix dynlink init
2020-07-23 13:38:26 +02:00
Daniel Bünzli
33dcae9509
Promote failing Dynlink tests: stacktrace line numbers changed.
2020-07-23 11:38:39 +02:00
Daniel Bünzli
1578a359e0
Dynlink.*_unit functions: make sure they call the internal init ().
...
Otherwise they report inaccurate information before any load
occurs. Closes #9338 .
2020-07-23 11:38:39 +02:00