Nicolás Ojeda Bär
43883ae4bc
Remove labels after calls, checkbound, and GC points
2020-10-08 20:28:15 +02:00
Nicolás Ojeda Bär
540996d21e
Remove Spacetime
2020-10-08 20:28:12 +02:00
Greta Yorsh
357932d9c3
Fix indentation
2019-09-10 12:43:30 +01:00
Greta Yorsh
89846e53a9
Pass contains_calls as argument to linear function
2019-09-10 12:40:40 +01:00
Greta Yorsh
aeebb62e9b
Move contains_calls and num_stack_slots from Proc to Mach.fundecl
2019-09-09 11:33:03 +01:00
Greta Yorsh
0b6b544fcb
Split Linearize into two modules
...
Separate the description of the IR from the transformations
performed on it by moving type declarations from linearize.ml
into their own file, called linear.ml.
2019-09-04 11:55:11 +01:00
KC Sivaramakrishnan
c06038a0ee
Move backtrace support global variables to domain state.
...
Since we cannot access backtrace position in cmmgen.ml anymore,
Cmm.raise_kind in removed. Instead, we use Lambda.raise_kind. When
assembly code is generated, we reset the backtrace position to 0 in the
case of regular raise. Importantly, the semantics remains the same.
2019-08-23 09:50:05 +05:30
Greta Yorsh
d8b6a1713b
Add pseudo-instruction `Ladjust_trap_depth` ( #2322 )
...
Ladjust_trap_depth replaces dummy Lpushtrap generated in linearize of
Iexit to notify assembler generation about updates to the
stack. Ladjust_trap_depth is used to keep the virtual stack pointer in
sync and emit dwarf information, without emitting any assembly
instructions. It therefore avoids generating dead code.
This patch is extract from PR1482 @lthls
2019-06-24 14:18:37 +01:00
Mark Shinwell
4334b2de87
Position [Lprologue] correctly ( #2292 )
2019-03-29 11:47:53 +00:00
Vincent Laviron
1dba5329a2
Linearize: for Trywith, remove the jump/call to the handler ( #2237 )
2019-03-07 10:37:22 +00:00
Pierre Chambart
27ce27ee7b
Merge branch 'trunk' into remove_iloop
2019-02-21 16:31:06 +01:00
Vincent Laviron
6bfc0f1a7b
Fix compilation of catches with multiple handlers
2019-02-19 17:12:09 +01:00
Vincent Laviron
98654c77de
Remove loop constructors in Cmm and Mach
2019-02-19 17:00:38 +01:00
Mark Shinwell
2a072d8036
Add Lprologue ( #2055 )
2018-09-24 10:03:26 +01:00
Pierre Chambart
69fb40bb55
Disable CSE for the initialization function ( #1455 )
2018-03-15 12:59:51 +00:00
Leo White
1671e5a3af
Treat negated float comparisons more directly ( #1487 )
...
* Add float comparison test
* Treat negated float comparisons more directly
* Add Changes entry
2018-02-28 14:19:46 +01:00
Pierre Chambart
cadd4c5ba1
Add a recursive flag on the Ccatch construct
...
When this flag is Nonrecursive, we can avoid iterating on
various passes. This makes exponential time cases more unlikely.
2016-10-28 13:03:59 +02:00
Pierre Chambart
8cd36d195a
Rename io to nfail in linearize.
2016-10-28 13:03:59 +02:00
Mark Shinwell
2e3b6ba249
code review
2016-10-28 13:03:59 +02:00
Pierre Chambart
c3d056de68
Change Cmm Ccatch construct to allow recursive cases
2016-10-28 13:03:59 +02:00
Mark Shinwell
cd0bd8aa73
Spacetime: a new memory profiler ( #585 )
2016-07-29 15:07:10 +01:00
François Bobot
bb4a1b4f5d
Specialize raise_kind after cmmgen
...
since the semantic changed. There is no need to check Clflags.debug
anymore Raise_withtrace, means that traces must be computed (if the
runtime boolean is true).
2016-07-28 15:29:50 +02:00
Mark Shinwell
c843ca0691
Labels after calls, call GC points and checkbound points (again) ( #660 )
2016-07-06 11:44:00 +01:00
Alain Frisch
c3c523109e
Revert "Labels after calls, call GC points and checkbound points"
2016-07-01 18:42:51 +02:00
Mark Shinwell
432f87f077
Labels after calls, call GC points and checkbound points ( #644 )
2016-07-01 15:16:03 +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
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
Fabrice Le Fessant
457958a9e6
Add reset functions to make modules reentrant when used through compiler-libs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09 12:01:21 +00:00
Alain Frisch
0f1fb19cbe
#6318 : Extend match...with with exception cases. (Patch by Jeremy Yallop, backend part by A. Frisch).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14743 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05 11:49:37 +00:00
Alain Frisch
164c307ae3
Support for raise variants in ocamlopt. Only amd64 for now.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14226 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14 14:33:27 +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
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
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
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
ec928fee86
PowerPC: traiter correctement les branchements conditionnels relatifs qui debordent (PR#723)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4242 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-01-09 19:40:48 +00:00
Xavier Leroy
9b3fe24698
Orthographe: failthrough -> fallthrough
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3381 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-05 08:49:10 +00:00
Luc Maranget
89f252d93e
or-pat avec variables et compil du switch
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3303 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-02 14:08:30 +00:00
Luc Maranget
d043fecf18
new or-pat compilation + exhaustiveness used in compilation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3273 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-08-11 19:50:59 +00:00
Damien Doligez
469ec90391
detabisation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-07 15:50:42 +00:00
Jacques Garrigue
296fc05470
Merge olabl branch
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-30 16:07:38 +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
Xavier Leroy
268f9837e9
Meilleur traitement des branchements conditionnels en fin de boucle
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1893 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-06 09:08:26 +00:00
Xavier Leroy
6a0ea6385b
Rendre desc mutable pour certains emetteurs de code (emit_hppa)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-07 15:32:26 +00:00
Xavier Leroy
2301d778e7
Renommage en Objective Caml
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Jérôme Vouillon
7974a9d8b1
Extension objets.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-22 11:15:41 +00:00
Xavier Leroy
e5ef0b6f16
Changement des comparaisons flottantes pour etre conforme a IEEE.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@482 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-28 14:25:57 +00:00
Xavier Leroy
3a7f4f09aa
Correction d'un bug dans discard_dead_code qui desequilibrait la pile
...
sur du code de la forme "try ...; raise Foo with Bar -> ..."
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-16 16:41:18 +00:00
Xavier Leroy
a019da159a
Introduction de Lreloadretaddr.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@217 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-25 08:46:03 +00:00
Xavier Leroy
0b9972d50f
Ajout du scheduler (a tester serieusement)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@202 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-13 09:31:50 +00:00