Commit Graph

10345 Commits (8be30254e2f38835f1530220a4b790e2c9cfb134)

Author SHA1 Message Date
Alain Frisch 8bbd041398 Starting to simplify/clenaup emit.mlp.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15201 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-10 09:07:50 +00:00
Alain Frisch 1b8f2a29f1 Forgot to apply emit_symbol.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15200 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-10 08:43:51 +00:00
Alain Frisch 5e9194ec6f Fix for mingw64.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15199 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-09 16:02:22 +00:00
Alain Frisch 5190950665 Comment.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15198 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-09 14:20:16 +00:00
Alain Frisch 1701d2733b #5528: factorize the generation of names for inlined records.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-05 12:24:31 +00:00
Jérémie Dimino fbdb2f5585 fix Travis script: git requires a name and email
(Patch by Pierre Chambart)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-05 08:41:34 +00:00
Alain Frisch 28afbb4d23 Make ocamldoc compile (still need support for inlined records).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15192 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-04 16:22:44 +00:00
Alain Frisch 7740036108 Bootstrap.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15191 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-04 16:22:39 +00:00
Alain Frisch 378a967cb7 Sync with trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-04 16:11:12 +00:00
Alain Frisch 14e22181c6 Need to call begin_assembly after Compilenv.reset.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-03 16:02:50 +00:00
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