Commit Graph

38 Commits (master)

Author SHA1 Message Date
Alain Frisch 8557a86477 Also enable more warnings in stdlib/ and fix them. 2016-03-15 22:47:26 +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
alainfrisch d736c2cd56 #6803: get rid of dangerous code that depends on the unspecified evaluation order for let-and bindings (report by Leo White). 2015-12-02 18:32:06 +01:00
Mark Shinwell 4b4d8a150a Fix compilation error for GPR#238 merge 2015-10-26 10:41:53 +00:00
Mark Shinwell f6538a8abe Merge pull request #238 from chambart/less_unsafe_CamlinternalOO
GPR#238: Make CamlinternalOO a bit less unsafe
2015-10-26 09:47:40 +00:00
Alain Frisch d813aea23b Remove dead code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 17:04:56 +00:00
Gabriel Scherer 5882fdea22 General translation of french comments
(user 'octachron')

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:38 +00:00
Jérémie Dimino 62b89a3a5c Replace uses of "noalloc" by [@@noalloc]
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16455 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-06 10:58:22 +00:00
Pierre Chambart 162a29f816 Change static to dynamic checks in camlinternalOO 2015-09-21 16:19:45 +02:00
Pierre Chambart 0b067c9531 Clean cruft from camlinternalOO 2015-09-21 16:16:00 +02:00
Pierre Chambart 113da6359a Get rid of some more casts in CamlinternalOO
Turn CamlinternalOO.tables into a GADT with cases distinguished by a
polymorphic variant. This allows to consider the Cons case almost like a
record. There is still one assumption that cannot be checked by typing:
when a key is found in the table, the data field is assumed to be a
Cons. This is dynamically checked. The cost is assumed to be
negligible (The branch should be well predicted by the processor).
2015-09-15 00:22:10 +02:00
Pierre Chambart 9dfa889598 Make CamlinternalOO a bit less unsafe
CamlinternalOO used to modify fields of blocks allocated as immutable,
which is unsafe and is going to become even more unsafe. An inline
record is used to allow marking a sum type as mutable.
2015-09-14 18:57:39 +02: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
Alain Frisch 7fead1f37b #5779: Revert change on camlinternalOO.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14449 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-07 17:10:02 +00:00
Alain Frisch ccf516168f #5779: adopt gasche's sentinel solution.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14447 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-07 08:16:41 +00:00
Alain Frisch 4907f6ca76 #5779: improve support for structured constants (better propagation, sharing, cleaner representation). Also fix #6337 (constants emitted several times).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-06 17:03:16 +00:00
Alain Frisch 0f6f367ad4 Change the representation of exception slots: instead of being represented as 'string ref', they are now blocks
of size 2, with tag = Object_tag, the first field being the pointer to the string, and second one being a unique id, generated
from the same sequence as for object values.  Special case for predefined exceptions, represented with a negative id.

The unique id generator is moved from camlinternalOO to the C runtime system.

Also fix some bugs.



git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14239 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-23 14:28:31 +00:00
Gabriel Scherer 75b8c0184f PR#5933 type-specialize 'let compare = compare' on ints and strings
According to the reporter 'sliquister', type-specialized comparison
can nearly halve compilation time in some cases. This patch applies
type-specialization throughout the OCaml distribution sources, so not
all changes will have performance utility, but in this case I think
it's best to be consistent, as I see no downside to the change.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-19 07:22:12 +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
Alain Frisch a0a14c08fa Enable and fix more warnings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:47:28 +00:00
Jacques Garrigue 16d937aa40 fix PR#5436
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 07:30:18 +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 9ea5edac9a merge changes 3.10.0 -> 3.10.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11 16:13:18 +00:00
Jacques Garrigue 602146f892 add virtual instance variables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7372 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 02:28:13 +00:00
Damien Doligez 0e5ca9dca5 nettoyage
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-25 18:34:07 +00:00
Jacques Garrigue b9ff981ae7 make dummy_met an atom
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-24 05:18:43 +00:00
Jacques Garrigue 402dc832ec PR#3803: do not use NULL in vtable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7104 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-06 05:42:12 +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
Xavier Leroy 30d9dc3229 Ajout module CamlinternalMod (auxiliaires pour la compilation de 'module rec')
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6586 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-12 12:57:00 +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
Jacques Garrigue 05b6ab1aa8 cas d'un appel de methode d'un autre objet
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6265 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-28 03:45:41 +00:00
Jacques Garrigue 61fe590178 use definitions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6259 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-27 02:47:45 +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
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 1fa763e0c5 Merge branch with recursive modules
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5602 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-19 15:53:53 +00:00
Damien Doligez 5eef5478ae amelioration Random
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5596 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-12 16:49:32 +00:00
Xavier Leroy 2e7c4897df Ajout fonction public_method_label pour CamlIDL et autres programmes ayant besoin de connaitre un index de methode, sans pour autant en creer de nouveaux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4946 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-26 09:12:49 +00:00
Xavier Leroy a4ade26294 Decoupage de stdlib/oo en stdlib/camlinternalOO et stdlib/oo. Petites modifs dans la compilation des classes pour reduire la taille du code genere
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-04-24 09:49:06 +00:00