Commit Graph

121 Commits (62b0e4fb1062003e88aec0bb6b2f7b6db779ca51)

Author SHA1 Message Date
Jacques Garrigue 0f85a64020 Unshare on type annotations even in non -principal mode.
Slightly slower (1% for lablgtk.cma) but better compatibility
with -principal and gadts.

By the way full -principal is a 25% slowdown for lablgtk.cma.

As a side effect of unsharing in patterns, (x : t) is now
internally converted to (_ as x : t).
This should have no impact on pattern matching compilation,
but watch out for other problems.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-14 10:00:18 +00:00
Fabrice Le Fessant 2bfba69b77 Backported '%apply' and '%revapply' from 3.12.1+dev to 3.13+dev
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-23 14:49:39 +00:00
Xavier Leroy a40d0432b2 PR#4880: added appropriate event to "assert" so that it shows up properly in stack backtraces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 10:42:36 +00:00
Jacques Garrigue b1f8048f39 merge branches/located_errors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11228 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-21 03:26:35 +00:00
Jacques Garrigue 156fff1b8a Keep type variable names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-22 09:05:42 +00:00
Damien Doligez d9eb848d86 PR#5238, PR#5277: Sys_error when getting error location
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-08-04 14:59:13 +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
Alain Frisch 8ae65cc68c Keep location on value declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/located_errors@10456 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 15:45:52 +00:00
Damien Doligez 418b6ed18f PR#5054: simple recursive value with array not accepted
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10445 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-20 14:57:42 +00:00
Alain Frisch 1e5b4a4857 Merge first class modules: svn merge -r 9369:9396 $caml/branches/fstclassmod.
Adapt the Changes file. Bump magic numbers. Bootstrap.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 10:53:16 +00:00
Jacques Garrigue 553153af3b optimize polymorphic variants as suggested in PR#4555
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8992 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-27 10:23:21 +00:00
Michel Mauny 666cb14adf Implement Lazy.force as a primitive, and optimize its calls.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8974 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-01 16:57:10 +00:00
Xavier Leroy 91d39feb72 PR#4223, PR#1508: added unsafe variants of Bigarray.Array{1,2,3}.{get,set}
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-14 09:09:53 +00:00
Michel Mauny 6ba024a12e Add lazy patterns.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8906 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-09 13:03:38 +00:00
Michel Mauny 0ccc1f7ff0 Readability: put the case lazy(float_constant) closer to other lazy(constant) cases.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8905 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-08 13:03:51 +00:00
Michel Mauny 59829979c2 Optimized the creation of lazy values in the same way as Lazy.lazy_from_val,
when the values are constants, immediate abstractions and identifiers.
The code is the identity when the value cannot be a float or a Lazy.t, and
a forward block when this may happen.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-08 12:48:42 +00:00
Michel Mauny 6373550a1e Stop multi-parameter optimization when the pattern is refutable. Now, ((fun true -> fun x -> x) false) correctly fails.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-06-16 09:08:55 +00:00
Damien Doligez 1dd68ccf50 ajout des annotations pour variables et appels terminaux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-05-16 08:21:41 +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
Damien Doligez f6190f3d0c PR#1956 renommage: bigarray est prefixe par ocaml_ba_
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7341 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-27 14:33:42 +00:00
Damien Doligez 1ced22dda7 PR#3767 features 1 and 2: display full location of events instead of one position
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-25 15:35:16 +00:00
Damien Doligez a4a3c10e70 fusion des modifs de 3.08.4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7019 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-13 20:59:37 +00:00
Jacques Garrigue 6d1d85e520 compact classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-29 02:26:45 +00:00
Jacques Garrigue 36a11d068b unused variables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6687 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-22 08:42:34 +00:00
Jacques Garrigue 6a940ef65d switch to new vtable representation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-26 11:10:52 +00:00
Xavier Leroy 7a53dbb6f0 Optimisation des tableaux constants: PR#2017
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6234 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-18 08:16:54 +00:00
Damien Doligez 0c7aecb88d depollution suite (et fin?) (PR#1914 et PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-02 19:23:29 +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
Damien Doligez 331b2d89c3 depollution suite (PR#1914, PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6044 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-31 14:20:40 +00:00
Damien Doligez aa46693dc5 depollution (PR#1914, PR#1956)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-16 18:09:44 +00:00
Jacques Garrigue f2095623ff fast and compact classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-25 09:20:45 +00:00
Xavier Leroy d8e2ca67bc Optimisation du cas tableau constant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-23 12:45:42 +00:00
Xavier Leroy 5c7accd134 Optimisation de Pervasives.compare par strength reduction
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-01 08:46:39 +00:00
Xavier Leroy 91d429719c Suppression du cas particulier pour les tableaux de grande taille, c'est maintenant traite de maniere plus generale dans interp.c et cmmgen.ml (PR#1551)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5420 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-06 11:54:59 +00:00
Damien Doligez 3373a9d8c8 probleme let rec avec {... with ...} signale par Fabrice
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-05 10:32:50 +00:00
Damien Doligez 9c8d3d777f PR#1497
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5380 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-01-11 11:54:38 +00:00
Damien Doligez 83a6a5fe46 desserrage de la boucle de bootstrap
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-12-19 15:49:53 +00:00
Damien Doligez fc701113aa locations, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5302 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-26 17:14:28 +00:00
Xavier Leroy 248f7efac8 Produire un evenement apres les primitives qui sont transformees en appels de fonctions C et qui peuvent lever une exception, comme string_get (PR#654)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5300 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-26 10:48:13 +00:00
Damien Doligez 2b633bf048 amelioration de let rec
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5252 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-07 17:57:23 +00:00
Damien Doligez ed3123ee87 changement des locations, premiere tranche
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-01 17:06:47 +00:00
Luc Maranget 0d4d371b63 Les variants constants sont des Const_address et non pas des Const_base(Const_int), sinon ca peut faire perdre des racines du GC dans le code natif
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4819 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-05-16 15:09:55 +00:00
Damien Doligez 0dbce74fc8 lazy a la Tolmach
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4291 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-01-20 17:39:10 +00:00
Luc Maranget eb7578b8db optimsation pm a donf
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-19 20:27:52 +00:00
Xavier Leroy f2a7fdbcd3 Ajout de l'instruction RERAISE
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3421 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-19 12:28:04 +00:00
Pierre Weis 2116da4220 Getting rid of obsolete boolean operators & and or
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-12-28 13:07:42 +00:00
Damien Doligez b80c77b025 fix -noassert pour que le typage des assertions soit toujours fait
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-12-04 15:37:05 +00:00
Luc Maranget ab97fd0dcc or-pat avec variables et compil du switch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-02 14:18:05 +00:00
Jacques Garrigue e477ccd225 relaxation de la semantique des effets de bords sur les parametres
optionels, pour permettre une compilation plus efficace.
modifie' translcore, typedtree, typecore, typeclass


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3293 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-09-04 08:49:32 +00:00