Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] roots.c -- oldify_local_roots
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-01-26 (23:43)
From: Art Yerkes <ayerkes@g...>
Subject: [Caml-list] roots.c -- oldify_local_roots
In oldify_local_roots, on line 137, there is an assumption
that no frame_descriptor is NULL.  For the kernel port, I
put a NULL check in here because I was panicing in the 
d->retaddr dereference.  If I understand correctly, it is
'alright' for me to put a null check in here, because ordinarily
the elements of frame_descriptor are filled with values from
caml_frametable, which seems to be generated at compile time.
Remember that there is a rather odd compilation line that makes
this go, which I admit is probably to blame for making the rest
work the wrong way, but I am interested in understanding the 
process of oldify_local_roots a bit better, including the role
of the frame_descriptors, which seem to point (if I am correct)
to the stack frames used by caml functions.

Do I understand this correctly?  A null frame_descriptor seems to
me to indicate a frame created by an improperly wrapped call.
(no CAMLparam(n)).  Does this really harm anything though?
#define ENOTSUP      48      /* Operation not supported                */
#define ENOTKANSTOTO 49      /* Not in kansas anymore, Toto            */
#define EBADE        50      /* Invalid exchange                       */

Bug reports:  FAQ:
To unsubscribe, mail  Archives: