From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id AAA07347; Sun, 27 Jan 2002 00:43:43 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA08027 for ; Sun, 27 Jan 2002 00:43:42 +0100 (MET) Received: from mail.genxnet.com (w067.z064001139.chi-il.dsl.cnc.net [64.1.139.67]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g0QNhff25129 for ; Sun, 27 Jan 2002 00:43:41 +0100 (MET) Received: from gmvnetwork.com (localhost [127.0.0.1]) by mail.genxnet.com (8.11.5/8.11.5) with SMTP id g0QNhbh32555 for ; Sat, 26 Jan 2002 17:43:37 -0600 Message-Id: <200201262343.g0QNhbh32555@mail.genxnet.com> Date: Sat, 26 Jan 2002 23:43:37 -0000 To: Subject: [Caml-list] roots.c -- oldify_local_roots From: "Art Yerkes" X-Mailer: TWIG 2.6.2 X-Client-IP: 63.29.149.215 X-Scanned-By: MIMEDefang 1.3 (www dot roaringpenguin dot com slash mimedefang) Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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