Alain Frisch
ae216ad212
Let the binary backend split the sections.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-03 15:06:52 +00:00
Alain Frisch
9a414baa96
Allow a binary code emitter to avoid the creation of an assembly source file.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-03 14:46:53 +00:00
Jérémie Dimino
a360747bc2
PR#6539: don't divide caml_major_heap_increment by the word size
...
(Patch by Daniel Richman)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15186 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-03 14:08:15 +00:00
Jérémie Dimino
d095ba7f89
PR#6540: update documentation of default values in gc.mli
...
(Patch by Daniel Richman)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15185 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-03 13:35:48 +00:00
Alain Frisch
0652dda14d
Factorize the sequencing of operations for setting up the assembly output, calling the assembler, closing/removing the assembly output.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-03 12:48:13 +00:00
Alain Frisch
ac226bf931
The internal assembler emits to a file, not to a string.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15183 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-03 09:46:45 +00:00
Alain Frisch
62a834f455
Fix for Windows.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15182 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-02 16:04:55 +00:00
Alain Frisch
e4ac6b651a
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15181 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-02 15:08:52 +00:00
Alain Frisch
25178442c2
Only include Intel_* modules when arch is i386 or amd64.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15180 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-02 15:07:59 +00:00
Alain Frisch
46b8de0b24
emit_nt is not needed anymore.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-02 14:58:33 +00:00
Alain Frisch
dfe5d892d9
Note.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15178 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-02 12:34:31 +00:00
Alain Frisch
6cd15407b4
Fix for msvc64.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15177 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-02 07:37:40 +00:00
Alain Frisch
f39d50891a
Fix for msvc64.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15176 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-02 07:36:59 +00:00
Alain Frisch
2cf427beb3
#6529 : the checked flag is now part of pers_struct.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15174 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-01 12:28:48 +00:00
Alain Frisch
856122459e
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15173 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-01 08:43:08 +00:00
Alain Frisch
adcd0fe5c9
#6529 : further optimize consistency check.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15171 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-01 08:36:47 +00:00
Xavier Leroy
132c529b75
Reflecting commit 15169 on version/4.02:
...
PR#6529: fix quadratic-time algorithm in Consistbl.extract.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-31 14:44:51 +00:00
Damien Doligez
a18bc7950b
merge changes of version/4.02 from r15121 to r15155
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 17:14:00 +00:00
Damien Doligez
499a573b7f
merge changes of version/4.02 from r15121 to r15155
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 17:13:34 +00:00
Alain Frisch
e36e77f7d7
Print instructions one by one to the assembly file (instead of printing everything in a single huge text buffer).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 16:28:15 +00:00
Alain Frisch
a6d6f6e084
Do not use hex syntax for 32-bit constants (if we want to use it, we must display it as 32-bit integers, not 64-bit).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 15:45:38 +00:00
Alain Frisch
11942a03d2
Cosmetic.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 14:58:33 +00:00
Alain Frisch
c2baf41654
Cleanup.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15162 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 14:50:22 +00:00
Alain Frisch
0ccd4d18b6
Add interfaces for intel_gas/intel_masm, remove dead code.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15161 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 14:46:00 +00:00
Alain Frisch
45f4535e99
Move the DSL part from intel_gas to its own module.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 14:40:25 +00:00
Alain Frisch
e7ba464587
Add intel_proc.mli, get rid of arch64 bool ref, move StringSet/StringMap to misc.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15159 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 14:35:10 +00:00
Alain Frisch
aab23e506e
Share the masm criterion.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15158 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 14:01:23 +00:00
Alain Frisch
22e239cf91
Introducing a new module (pure interface) to define the AST of the intel assembly language.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 13:55:56 +00:00
Alain Frisch
2ce8520c2a
Reindent + minor style tweaks.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 12:36:35 +00:00
Alain Frisch
8dc066e0b6
Revert (unrelated change).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15151 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 12:23:08 +00:00
Alain Frisch
9248774af5
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15147 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 10:37:43 +00:00
Gabriel Scherer
f5f3ae77a9
(in|out)_channel_of_descr: improve documentation (Christophe Troestler)
...
Following a discussion on the mailing list, it appears that more
explanation on the closing of channels created from file descriptors
is desirable.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15142 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-28 21:56:03 +00:00
Gabriel Scherer
d875804d9c
fix minor error-reporting bug
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15141 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-28 21:52:00 +00:00
Xavier Leroy
b868c05ec9
PR#6517: use ISO C99 types {,u}int{32,64}_t in preference to our homegrown
...
types {,u}int{32,64}.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-27 09:58:33 +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
Damien Doligez
09ad9c1abb
add ocamldoc to check-typo; some mergeinfo that svn wants to commit
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22 10:46:36 +00:00
Gabriel Scherer
d02c8fbc55
new -opaque flag: ocamlopt creates .cmx without cross-module info
...
(Patch by Pierre Chambart and Gabriel Scherer)
(Ack'ed by Damien Doligez)
This enables a form of incremental compilation for ocamlopt: if
A depends on B, and B is compiled with `ocamlopt -opaque`, then minor
implementation changes in B that do not affect the module interface
will not require recompilation of A.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15105 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-18 13:28:34 +00:00
Fabrice Le Fessant
c6d4264a09
import new intel emit branch
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15097 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-18 09:32:20 +00:00
Fabrice Le Fessant
78234a8b65
Create branch abstract_intel_emit from trunk r15095
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15096 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-18 09:17:56 +00:00
Fabrice Le Fessant
a0bdce52f5
Fix PR#6516 in testsuite
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15095 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-17 21:11:18 +00:00
Gabriel Scherer
33a52ba692
minor typo spotted by Jeremy Yallop
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15093 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-16 20:30:27 +00:00
Gabriel Scherer
6d3318df9f
I forgot about {Bytes,String}Labels.mapi; thanks Alain!
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-16 17:48:45 +00:00
Gabriel Scherer
1a87dee8e3
tools/objinfo: workaround change in binutils' <bfd.h>
...
(Report and fix by Christopher Zimmerman)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15089 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-15 13:19:23 +00:00
Gabriel Scherer
6e08943af9
Refresh .gitignore
...
After svn:ignore changes, from any git-svn repository you can run
git svn show-ignore > .gitignore
to synchronize the .gitignore content.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-15 11:09:33 +00:00
Gabriel Scherer
332fa731d7
Set SVN ignore properties for the new testsuite directories
...
SVN does not recursively apply ignore patterns, so after creating a
new directory one should not forget to set its svn:ignore property
(otherwise `svn status` will be quite noisy after a testsuite run).
For new test directories, I just copied the property of an existing
test in the following way:
cd testsuite/tests/basic
svn propget svn:ignore > /tmp/test-ignore
cd ../<NEW-DIR>
svn propset svn:ignore -F /tmp/test-ignore .
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15086 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-15 11:03:00 +00:00
Xavier Leroy
fcc2da3848
PR#6501: harden the native-code generator against certain uses of "%identity".
...
Technically: when a C-- let-bound variable is assigned to, update its type
so that it is the lub of the types of the initial value and all values
assigned to it, with the type ordering Int <: Addr.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-11 07:46:25 +00:00
Mark Shinwell
e17e2b19da
PR#6507: [caml_bottom_of_stack] incorrectly set
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08 22:17:56 +00:00
Gabriel Scherer
c8940948e0
More accurate wording about when Invalid_argument is raised for list functions.
...
(Patch by Jeremy Yallop)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08 16:15:13 +00:00
Gabriel Scherer
c6d67e2bf9
remove redundant bound checking in Buffer.blit (patch by Philippe Wang)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15073 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08 15:57:22 +00:00
Alain Frisch
bfba47f922
Cherry pick 15071 from 4.02 ( Fix #6510 : Removal of shadowed constructors of extensible types can break the structure of definitions).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15072 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08 12:17:34 +00:00