summaryrefslogtreecommitdiffstats
path: root/asmrun/stack.h
diff options
context:
space:
mode:
Diffstat (limited to 'asmrun/stack.h')
-rw-r--r--asmrun/stack.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/asmrun/stack.h b/asmrun/stack.h
index e8d1b5807..913ec4f55 100644
--- a/asmrun/stack.h
+++ b/asmrun/stack.h
@@ -96,6 +96,25 @@ struct caml_context {
value * gc_regs; /* pointer to register block */
};
+/* Structure of frame descriptors */
+
+typedef struct {
+ uintnat retaddr;
+ unsigned short frame_size;
+ unsigned short num_live;
+ unsigned short live_ofs[1];
+} frame_descr;
+
+/* Hash table of frame descriptors */
+
+extern frame_descr ** caml_frame_descriptors;
+extern int caml_frame_descriptors_mask;
+
+#define Hash_retaddr(addr) \
+ (((uintnat)(addr) >> 3) & caml_frame_descriptors_mask)
+
+extern void caml_init_frame_descriptors(void);
+
/* Declaration of variables used in the asm code */
extern char * caml_bottom_of_stack;
extern uintnat caml_last_return_address;