summaryrefslogtreecommitdiff
path: root/bytecomp/emitcode.ml
Commit message (Collapse)AuthorAgeFilesLines
* whitespace cleanup, cut long lines, add some missing headersDamien Doligez2015-09-111-1/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* PR#6468: toplevel now supports backtraces if invoked with OCAMLRUNPARAM=bGabriel Scherer2015-02-081-1/+2
| | | | | | | (Peter Zotov and Jake Donham, review by Gabriel Scherer and Jacques-Henri Jourdan) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15830 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* merge branch 4.02 from release 4.02.0 to release 4.02.1Damien Doligez2014-10-151-0/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev ↵Damien Doligez2014-08-221-3/+6
| | | | | | 15121) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Add reset functions to make modules reentrant when used through compiler-libsFabrice Le Fessant2014-05-091-0/+6
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* re-commit Leo's weak-dependencies pull requestJacques Garrigue2014-05-071-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* revert commit 14719Jacques Garrigue2014-05-021-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* weak dependencies with -trans-mod (github/ocamllabs/weak-depends ↵Mark Shinwell2014-05-011-1/+1
| | | | | | 45e980a,21856a7,merge) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14719 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* merge branch "safe-string"Damien Doligez2014-04-291-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* PR#6270: remove need for -I directives to ocamldebug in common caseGabriel Scherer2014-04-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patch by Josh Watzman) Add absolute directory names to bytecode format for ocamldebug to use The need for a long list of -I directives makes interactively using ocamldebug a pain in the butt. Many folks have solved this with various `find` invocations or even Python wrappers, but those lead to other problems when it might include files you weren't expecting (or miss things you were). But all of this is really annoying since the tooling should be able to figure out itself, even heuristically, where your source files are -- gdb gets this right, why can't we? This patch implements one of the more important heuristics from gdb: you typically debug on the same machine you built on, so looking for the source files and built artifacts in the absolute paths where they were during compilation is a good first try. We write out absolute paths into a new structure at the beginning of the debug section and then automatically append those directories into the load path. This means mean that if you happen to be debugging on a machine where the original source and build artifacts are *not* available in their original absolute locations, things will work as before, using the standard load path mechanism. You can also explicitly use -I to prepend directories to the load path and override the defaults located by this new mechanism. I personally find this makes using ocamldebug much more pleasant :) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Revert "PR#6270: remove need for -I directives to ocamldebug in common case ↵Gabriel Scherer2014-03-311-8/+0
| | | | | | | | | | | | | (patch by Josh Watzman)" There seems to be a problematic interaction with backtrace collection. To test this, make world.opt cd testsuite make one DIR=tests/backtrace/ This needs to be sorted out before the patch can go in again. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* PR#6270: remove need for -I directives to ocamldebug in common case (patch ↵Xavier Clerc2014-03-311-0/+8
| | | | | | by Josh Watzman) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14507 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Rename raise_nostack -> raise_notrace. Expose it in Pervasives.Alain Frisch2013-10-141-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* #6203, #5935: variants of raise. 'reraise' is currently only inserted by the ↵Alain Frisch2013-10-141-1/+3
| | | | | | compiler when an handler does not catch the exception. The default 'raise' always start with a fresh backtrace. There is also 'raise_nostack' which does not trigger the stack trace recording. Bytecode only for now. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14223 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* PR#5957,PR#5920,PR#5925: LongString module to workaround 32bits string size ↵Gabriel Scherer2013-04-171-16/+16
| | | | | | | | | | | | | | | | limitations during bytecode linking (patch by Benoit Vaugon and Chet Murthy) In PR#5925, Benoît Vaugon initially proposed the LongString module to solve an issue with bytecode blocks of size > Sys.max_string_length on 32 bits architecture (16Mio). In PR#5957, Chet Murthy made small changes to also fix the problem of debug information going above this 16Mio limit. The LongString module should be reusable in other parts of the compiler, should new 32bit-string-length issues arise. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* fix a few problems with whitespace and over-long linesDamien Doligez2013-03-091-2/+4
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* remove all $Id keywordsDamien Doligez2012-10-151-2/+0
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* renaming of Objective Caml to OCaml and cleanup of copyright headersDamien Doligez2011-07-271-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* clean up spaces and tabsDamien Doligez2010-01-221-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Output references to the native version of the primitives in ocamloptAlain Frisch2008-07-241-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Deplacement des infos de format des .cmo et .cma dans Cmo_formatXavier Leroy2006-05-111-31/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7422 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* switch to new vtable representationJacques Garrigue2004-05-261-0/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Pour l'option -pack, permettre de donner une interface explicite (via un ↵Xavier Leroy2003-03-061-0/+10
| | | | | | .mli) au module synthetise git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5422 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Revu gestion des backtrace; suppression de RERAISE, utiliser l'adresse de ↵Xavier Leroy2001-11-261-1/+0
| | | | | | l'objet exception a la place git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4040 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Revu gestion des DLLs: ne pas les utiliser en mode -custom; dans les .cma et ↵Xavier Leroy2001-10-301-2/+3
| | | | | | .cmxa, stocker separement les options pour linker statiquement (-cclib) et par chargement dynamique (-dllib). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3949 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* corrected bug 325Luc Maranget2001-03-301-0/+4
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3481 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Ajout de l'instruction RERAISEXavier Leroy2001-02-191-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3421 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Getting rid of obsolete boolean operators & and orPierre Weis2000-12-281-4/+4
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* or-pat avec variables et compil du switchLuc Maranget2000-10-021-5/+65
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Nouveau format de .cma et .cmxa, se rappelle des -cclib et -ccopt ↵Xavier Leroy2000-03-091-5/+7
| | | | | | necessaires pour le link final git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Revu compilation du filtrage des variants. Ajout de la primitive Pisint et ↵Xavier Leroy1999-12-061-0/+1
| | | | | | de l'instruction bytecode ISINT. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2669 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Changement de la licenceXavier Leroy1999-11-171-1/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* generation de ENVACC4 et suppression de ATOM1..ATOM3Damien Doligez1999-11-081-2/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2476 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Adoption des memes representations que dans ocamlopt pour les tableaux de ↵Xavier Leroy1998-04-061-8/+24
| | | | | | | | | flottants et les fonctions mutuellement recursives. Simplification de la compilation du let rec de valeurs. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1895 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* bytelink, emitcode: nouvelle gestion des CRC des interfaces.Xavier Leroy1997-05-151-3/+1
| | | | | | | | bytelink: Sys.command -> Ccomp.command translcore: expanser les abreviations dans has_base_type git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1551 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* cleanup_abbrev deplacee de Types vers BtypeJérôme Vouillon1997-03-241-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1455 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* displ / 4 ==> displ asr 2Damien Doligez1997-03-131-5/+5
| | | | | | | Utiliser asr au lieu de lsr dans emit_label. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1384 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Corrections de bugs dans la gestion des evenements de debug.Xavier Leroy1997-02-191-4/+23
| | | | | | | | | Conserver l'optimisation tailcall et push-acc meme en presence d'evenements de debug. Stockage plus efficace des infos de debug dans les .cmo. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1279 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Modification de la maniere dont l'expansion des abbreviations estJérôme Vouillon1997-01-211-1/+2
| | | | | | | memorisee. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1245 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Ajout du support pour le debuggerXavier Leroy1996-11-291-3/+15
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* L'argument de [PUSH]GETGLOBALFIELD etait emis sur 8 bits seulement auXavier Leroy1996-05-271-2/+2
| | | | | | | lieu de 32. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@841 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Renommage en Objective CamlXavier Leroy1996-04-301-2/+2
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Extension objets.Jérôme Vouillon1996-04-221-2/+3
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Ajout d'une option -linkall dans les .cmo et .cma.Xavier Leroy1996-04-181-2/+4
| | | | | | | translmod: probleme avec les external declares val dans le .mli. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@746 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Compilation du pattern-matching revue (orpats, matchings avec entiersXavier Leroy1996-04-041-5/+0
| | | | | | | et caracteres). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Dans les .cmo, on garde trace des primitives declarees dans le module. Du ↵Xavier Leroy1995-11-051-2/+2
| | | | | | coup, cslmktop -custom se remet a marcher. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@398 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Nouveau format de .cmo (utilisation de MD5, detection unsafe)Xavier Leroy1995-10-091-4/+10
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Ajout des notices de copyrightXavier Leroy1995-08-091-0/+13
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* MAJ du linker et du librarian.Xavier Leroy1995-07-111-1/+1
| | | | git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@81 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
* Codage des constructeurs constants avec Const_pointerXavier Leroy1995-07-021-1/+6
| | | | | | | | | Optimisation de match (a,b) with (p1,p2) -> Renommage de codegen -> bytegen, linker -> bytelink. emitcode: cas Kdummy 0. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@53 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02