ocaml/bytecomp
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
..
.ignore uniform .ignore system 2011-07-20 15:37:36 +00:00
bytegen.ml #6203, #5935: variants of raise. 'reraise' is currently only inserted by the 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. 2013-10-14 12:31:50 +00:00
bytegen.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
bytelibrarian.ml Continue. 2013-09-12 14:34:13 +00:00
bytelibrarian.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
bytelink.ml Continue. 2013-09-12 14:34:13 +00:00
bytelink.mli PR#5986: added flag Marshal.Compat_32 and ocamlc option -compat-32. 2013-04-18 11:58:59 +00:00
bytepackager.ml Continue. 2013-09-12 14:34:13 +00:00
bytepackager.mli #5832: patch to improve 'wrong file naming' error messages. 2013-04-29 14:57:38 +00:00
bytesections.ml remove all $Id keywords 2012-10-15 17:50:56 +00:00
bytesections.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
cmo_format.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
dll.ml remove all $Id keywords 2012-10-15 17:50:56 +00:00
dll.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
emitcode.ml Rename raise_nostack -> raise_notrace. Expose it in Pervasives. 2013-10-14 13:52:14 +00:00
emitcode.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
instruct.ml #6203, #5935: variants of raise. 'reraise' is currently only inserted by the 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. 2013-10-14 12:31:50 +00:00
instruct.mli #6203, #5935: variants of raise. 'reraise' is currently only inserted by the 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. 2013-10-14 12:31:50 +00:00
lambda.ml Support for raise variants in ocamlopt. Only amd64 for now. 2013-10-14 14:33:27 +00:00
lambda.mli Support for raise variants in ocamlopt. Only amd64 for now. 2013-10-14 14:33:27 +00:00
matching.ml #6203: change representation of exception values created with a constant constructor: the value is now equal to the exception slot. This avoids some allocation when the constructor is called and an extra indirection on matching against the constructor. 2013-10-18 13:00:58 +00:00
matching.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
meta.ml remove all $Id keywords 2012-10-15 17:50:56 +00:00
meta.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
printinstr.ml Cleanup. 2013-10-14 14:38:18 +00:00
printinstr.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
printlambda.ml Cleanup. 2013-10-14 14:38:18 +00:00
printlambda.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
runtimedef.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
simplif.ml fix a few problems with whitespace and over-long lines 2013-03-09 22:38:52 +00:00
simplif.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
switch.ml renaming of Objective Caml to OCaml and cleanup of copyright headers 2011-07-27 14:17:02 +00:00
switch.mli renaming of Objective Caml to OCaml and cleanup of copyright headers 2011-07-27 14:17:02 +00:00
symtable.ml Change the representation of exception slots: instead of being represented as 'string ref', they are now blocks 2013-10-23 14:28:31 +00:00
symtable.mli PR#5957,PR#5920,PR#5925: LongString module to workaround 32bits string size limitations during bytecode linking (patch by Benoit Vaugon and Chet Murthy) 2013-04-17 09:07:00 +00:00
translclass.ml Switch {Translmod,Translcore,Translclass}.Error. 2013-09-12 14:24:27 +00:00
translclass.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
translcore.ml Change the representation of exception slots: instead of being represented as 'string ref', they are now blocks 2013-10-23 14:28:31 +00:00
translcore.mli Change the representation of exception slots: instead of being represented as 'string ref', they are now blocks 2013-10-23 14:28:31 +00:00
translmod.ml Change the representation of exception slots: instead of being represented as 'string ref', they are now blocks 2013-10-23 14:28:31 +00:00
translmod.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
translobj.ml Support for quoted strings. 2013-03-26 11:17:17 +00:00
translobj.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00
typeopt.ml Keep location and attributes in type, label and constructor declarations. Deprecated warning when a deprecated type or constructor is referenced. 2013-09-27 10:54:55 +00:00
typeopt.mli remove all $Id keywords 2012-10-15 17:50:56 +00:00