Nicolás Ojeda Bär
540996d21e
Remove Spacetime
2020-10-08 20:28:12 +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
Greta Yorsh
aeebb62e9b
Move contains_calls and num_stack_slots from Proc to Mach.fundecl
2019-09-09 11:33:03 +01:00
KC Sivaramakrishnan
f7920a127f
Domain state works on Power64
2019-08-23 09:50:05 +05:30
Mark Shinwell
4334b2de87
Position [Lprologue] correctly ( #2292 )
2019-03-29 11:47:53 +00:00
Mark Shinwell
770e662e96
Add [Proc.destroyed_at_reloadretaddr] ( #2065 )
2018-10-15 12:53:27 +01:00
Mark Shinwell
dacb2240a4
DWARF register numberings ( #2080 )
2018-10-04 11:30:52 +01:00
Xavier Clerc
7e29162582
Pass the elements from `BUILD_PATH_PREFIX_MAP` to the assembler ( #1930 )
2018-07-27 12:25:23 +02:00
Mark Shinwell
cd0bd8aa73
Spacetime: a new memory profiler ( #585 )
2016-07-29 15:07:10 +01:00
Mark Shinwell
c843ca0691
Labels after calls, call GC points and checkbound points (again) ( #660 )
2016-07-06 11:44:00 +01:00
Mark Shinwell
b2e7162546
Second attempt at fixing GPR#167 fallout
2016-04-15 13:41:54 +01:00
alainfrisch
502e4f9336
More warnings when compiling the compiler.
2016-03-15 22:46:35 +01:00
Damien Doligez
5401ce8473
Update headers for the new license.
...
Remains to be done: remove all headers in testsuite/tests.
2016-02-18 16:59:16 +01:00
Mark Shinwell
05f1746cb5
Rename to max_arguments_for_tailcalls; revise numbers assuming no unboxed floats using the OCaml calling conventions
2016-02-08 15:02:40 +01:00
Mark Shinwell
b5618e8642
max_arguments_without_passing_on-stack
2016-01-29 15:57:36 +00:00
Damien Doligez
4aac9e4e63
asmcomp/power/proc.ml: fix missing parenthesis due to commit 16415
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-11 15:00:49 +00:00
Damien Doligez
b860d63145
whitespace cleanup, cut long lines, add some missing headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-11 11:58:31 +00:00
Jérémie Dimino
b96aa6a2f1
Support passing unboxed int64 between OCaml and C on ppc32
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 16:18:55 +00:00
Jérémie Dimino
cb0f607193
Update callilng convention on ppc64
...
On ppc64 (v1 & v2) passing a float argument to a C function must
reserve a normal register.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 16:18:55 +00:00
Xavier Leroy
7dacc03db0
PPC64 ABI v1: not enough space was reserved for the parameter save area before calls to C functions.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/ppc64@16339 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-06 12:32:30 +00:00
Xavier Leroy
cf87a2c664
Update wrt trunk r16319.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/ppc64@16320 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-03 09:18:04 +00:00
Xavier Leroy
66e958ef0f
Still following up on commit 16278.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16282 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-27 17:25:17 +00:00
Xavier Leroy
7027b858eb
Update "register_class" followign the introduction of the Val machine type.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16278 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-27 11:37:52 +00:00
Xavier Leroy
8815d7e1a2
PowerPC port of ocamlopt:
...
- Removed MacOS X support, long dead.
- Added support for PowerPC 64 bits, big-endian, ELF v1 ABI
(tested, mostly works, some issues remain with marshaling of code pointers)
- Added support for PowerPC 64 bits, little-endian, ELF v2 ABI
(completely untested)
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/ppc64@16226 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-20 15:41:44 +00:00
Damien Doligez
cbfe627f92
merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev 15121)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22 13:45:02 +00:00
Xavier Leroy
657ba73021
Liveness & Deadcode: fix i386-specific issue with move instructions accessing
...
the x87 FP stack, which must not be eliminated.
CSEgen: harden against the same x87-specific issue + against reuse of
values in fixed hardware registers that were destroyed by a prior
operation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14877 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-16 14:37:22 +00:00
Xavier Leroy
9c1d005ebb
New back-end optimization pass: dead code elimination.
...
(Removes arithmetic and load instructions whose results are unused.)
(Cherry-picked from branch backend-optim.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14686 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-26 09:31:18 +00:00
Xavier Leroy
bfc08c41ac
PR#6049: support for OpenBSD/macppc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-24 08:17:30 +00:00
Gabriel Scherer
c1da5f35cd
fix macppc build (patch by Anil Madhavapeddy)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13827 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-21 14:59:12 +00:00
Fabrice Le Fessant
9b53f8b10d
Re-add configure option -with-frame-pointers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 18:03:59 +00:00
Fabrice Le Fessant
97bc1fa9e2
Reverting -with-frame-pointers
...
Fails to compile alt-ergo without frame-pointers. No time to debug
before tonight, so I revert and will merge again after fixing the
problem.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13732 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 06:29:33 +00:00
Fabrice Le Fessant
1b2667b9f2
Add -with-frame-pointers to ./configure
...
This option can be used to tell the native compiler that it should
update frame pointers, so that debuggers and profiling tools
(especially Linux perf) can use them. For now, it is only supported
by the Unix/amd64 port.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13730 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 04:42:42 +00:00
Damien Doligez
def31744f9
remove all $Id keywords
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Damien Doligez
3b507dd1aa
renaming of Objective Caml to OCaml and cleanup of copyright headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez
04b1656222
clean up spaces and tabs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Xavier Leroy
9ccb911666
Can select which assembler to use at configuration time (PR#4171)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8462 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-30 12:37:16 +00:00
Xavier Leroy
d9be4fee6a
Portage PowerPC 64 bits
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7430 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-05-31 08:16:34 +00:00
Xavier Leroy
ab4160d21b
Typos
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6424 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-19 17:39:35 +00:00
Xavier Leroy
63b506d2cd
Suppression portage ocamlopt pour Power/AIX
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6423 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-19 16:17:31 +00:00
Xavier Leroy
4755668ea9
Support Sparc et PowerPC pour NetBSD (PR#1746)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5711 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-17 15:11:03 +00:00
Damien Doligez
0c39583400
alignement stack frames a 16 octets sur powerpc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-20 15:17:52 +00:00
Damien Doligez
851b9cb158
deps
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5020 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-07-22 16:38:07 +00:00
Xavier Leroy
bae1b84692
Faire Filename.quote sur les noms de fichiers passes au compilo C, etc (PR#896)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-03-12 16:17:53 +00:00
Xavier Leroy
1442bc4dd8
23 registres entiers, pas 24
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-07 10:23:10 +00:00
Xavier Leroy
cc0f32b054
Changement de la licence
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Damien Doligez
c75800174b
Portage Rhapsody, suite et fin
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1888 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-03-13 19:31:32 +00:00
Damien Doligez
e6373b2028
Portage Rhapsody, suite
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-03-13 17:47:24 +00:00
Xavier Leroy
8a66e4a3cb
Portage Rhapsody, suite
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-03-13 15:06:16 +00:00
Xavier Leroy
119c8eeb67
Nouvelle architecture pour les fichiers dependant du processeur
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1655 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-07-24 11:49:12 +00:00