[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ 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: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr