Commit Graph

112 Commits (9a053e7fd85cb5dc7e73a722850235af85392f0e)

Author SHA1 Message Date
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
Pierre Weis b96208b7a2 Revu les impressions du compilateur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-06 22:12:09 +00:00
Xavier Leroy ee2c3d5bc6 Nouveau format extensible d'executables bytecode
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2903 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-05 19:18:50 +00:00
Xavier Leroy c0feeaa7e5 Optimisation des acces aux bigarrays
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2873 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-28 15:45:50 +00:00
Xavier Leroy b09f44025c Ajout des types predefinis int32, int64, nativeint.
Ajout des primitives correspondantes dans le type lambda.
Optimisation de ces primitives dans le compilateur natif


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2839 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-21 18:14:56 +00:00
Pierre Weis 39553e9972 Révision de l'impression à l'aide de format: utilisation de printf
pour condenser les programmes et aussi préparer une future (éventuelle)
internationalisation d'Objective Caml.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2796 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-08 20:00:06 +00:00
Jacques Garrigue ea77b3d485 Variant compilation bugs: simple mistakes in matching.ml, and incorrect use of Const_pointer for 31-bit integers in translcore.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-07 17:21:29 +00:00
Damien Doligez ec1c205be6 detabisation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-01-07 15:56:27 +00:00
Xavier Leroy 555c7f8022 Ajout de la primitive %obj_is_int
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2686 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-12 16:29:31 +00:00
Jacques Garrigue c7c92e6a06 Nettoyage de l'optimisation des valeurs par defaut dans translcore.ml. Ajout de Default a Asttypes.rec_flag.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2670 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-12-06 17:05:19 +00:00