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
Gabriel Scherer
75b8c0184f
PR#5933 type-specialize 'let compare = compare' on ints and strings
...
According to the reporter 'sliquister', type-specialized comparison
can nearly halve compilation time in some cases. This patch applies
type-specialization throughout the OCaml distribution sources, so not
all changes will have performance utility, but in this case I think
it's best to be consistent, as I see no downside to the change.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-19 07:22:12 +00:00
Damien Doligez
c63f9e0957
fix a few problems with whitespace and over-long lines
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-09 22:38:52 +00:00
Benedikt Meurer
6fad047cc0
PR#5181: Merge common floating point constants in ocamlopt.
...
Instead of generating a unique quadword constant for each and every
floating point constant use within a function, we now collect the floating
point constants on a per-module basis, and generate only one quadword
per floating point constant.
This affects only the amd64 and i386 ports (both Unix/Linux/OS X and Windows).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-21 18:33:32 +00:00
Fabrice Le Fessant
ec7ac9cb3d
PR#5771: Add primitives for reading 2, 4, 8 bytes in strings and bigarrays
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-09 16:15:29 +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
Alain Frisch
db72170ff3
Remove useless opens.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12545 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 14:34:56 +00:00
Alain Frisch
a1f1558227
Remove useless open.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12544 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 14:33:06 +00:00
Alain Frisch
f13111226a
Remove useless open.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12543 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 14:32:15 +00:00
Xavier Leroy
ceabedc058
PR#5603: wrong .file directives generated by ocamlopt -g
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12449 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-12 09:51:45 +00:00
Xavier Leroy
79eab1a6e2
PR#5513: protect against min_int / -1 crashing on x86
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-24 10:13:02 +00:00
Xavier Leroy
2eecf2d4c0
PR#5487: addition of CFI directives and a few filename/linenumber info to generated amd64 and i386 assembly files.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:41:02 +00:00
Xavier Leroy
b07b3032c0
- PR#5509: misclassification of statically-allocated empty array that
...
falls exactly at beginning of an otherwise unused data page.
- i386/emit_nt.mlp: add zero word at end of data segment, like in other ports.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 16:56:29 +00:00
Benedikt Meurer
bb007b5a22
[i386] Don't override insert_op.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 10:00:44 +00:00
Benedikt Meurer
fb327a7c2b
Also pass Cmm.memory_chunk to select_addressing.
...
The rational behind this change is that for the ARM instruction sets, the
valid range for address offsets depends on the type of data being loaded
or stored.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12120 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 09:43:33 +00:00
Xavier Leroy
ca0c236919
PR#4869: rare collisions between assembly labels for code and data
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-18 10:00:56 +00:00
Xavier Leroy
e10723e701
Merged proc_nt.ml into proc.ml in directories asmcomp/i386 and asmcomp/amd64.
...
This avoids much code duplication and is a baby step towards Mingw-64 bits
support (PR#5179). (There will be no need to create a third proc_xxx.ml
file for this configuration.)
Also, in amd64/emit_nt.mlp, the ml64 assembler didn't like my label subtractions, so I put the jumptable in code area instead of in data area.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11319 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-16 17:02:48 +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
c91db736b1
merge changes from 3.12.0 to 3.12.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Xavier Leroy
80384c6d84
PR#5237: incorrect .size directives generated for x86-32 and x86-64
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10981 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-13 13:36:00 +00:00
Jacques Garrigue
ee36e1d1c5
merge branches/override
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10250 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-08 03:58:41 +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
Damien Doligez
bdc0fadee2
merge changes from release/3.11.1 to release/3.11.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-20 16:26:46 +00:00
Damien Doligez
ed32f569e3
merge changes from ocaml3110 to ocaml3111rc0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-20 11:52:42 +00:00
Damien Doligez
1f95b17570
merge changes from 3.10.2merged to 3.11.0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-12-03 18:09:09 +00:00
Xavier Leroy
1f93465a0e
PR#4564 (partial): mark stack as non-executable on Linux/ELF
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-01 08:04:57 +00:00
Damien Doligez
9ea5edac9a
merge changes 3.10.0 -> 3.10.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11 16:13:18 +00:00
Alain Frisch
3958a92c72
Merge the natdynlink branch into HEAD.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8477 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-06 15:16:56 +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
Damien Doligez
4167841b16
fusion de la version 3.10.0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8416 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-08 14:19:34 +00:00
Damien Doligez
f700284aac
fusion des changements 3.09.3 -> release309_merge310
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-09 13:31:15 +00:00
Xavier Leroy
4b5512c74c
Stack backtraces on uncaught exceptions in native code (merge of the opt_backtrace branch)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-29 12:11:18 +00:00
Xavier Leroy
f2027274dd
gprof profiling support for MacOSX/Intel (PR#4087)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7692 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-16 08:40:42 +00:00
Xavier Leroy
b32cd009b8
Dead code eliminated
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7667 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-03 11:51:57 +00:00
Xavier Leroy
840e64f9b1
PR#4110: error in computation of required stack size in case #arguments > 16
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7628 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-21 09:12:17 +00:00
Damien Doligez
fbea66a95e
fusion des changements 3.09.2 -> 3.09.3
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-20 11:14:37 +00:00
Damien Doligez
1279ab4b76
fusion des changements 3.09.1 -> 3.09.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-16 23:28:22 +00:00
Xavier Leroy
9106fef156
let inutile
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6719 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-30 17:07:11 +00:00
Xavier Leroy
6fbad77c8a
Ajout de pseudo-registres supplementaires pour le passage de plus de 6 arguments
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6596 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-12 14:29:25 +00:00
Xavier Leroy
357b5b7166
Referencer caml_extra_params de maniere portable
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6595 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-12 14:29:00 +00:00
Xavier Leroy
af9b98fcbb
Ajout de pseudo-registres supplementaires pour le passage de plus de 6 arguments
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6593 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-12 13:37:12 +00:00
Xavier Leroy
0b9f496f6f
Constantes flottantes +0.0 / -0.0 (PR#2480)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6277 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-03 12:46:51 +00:00
Damien Doligez
258c929f64
PR#1914,PR#1956, suppression du portage Mac OS 9
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-05 20:26:19 +00:00
Damien Doligez
5a678d29f5
depollution suite (PR#1914 et PR#1956)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-01 16:42:43 +00:00
Xavier Leroy
cacb3c13bc
Pour ELF, emettre des directives @type,function (corrige le PR#1694)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5794 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-22 14:05:03 +00:00
Xavier Leroy
8c008a73d1
Introduction/utilisation de caml_array_bound_error
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5638 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-30 15:39:39 +00:00
Xavier Leroy
2798826120
Petite optimisation pour le Pentium 4
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5637 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-30 15:32:45 +00:00
Xavier Leroy
5bc610b3ab
Retour en arriere sur l'utilisation de %st(0) comme un registre allouable (c'est incorrect)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5598 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-15 09:58:31 +00:00