]> gitweb.factorcode.org Git - factor.git/blob - vm/os-linux-ppc.h
Initial import
[factor.git] / vm / os-linux-ppc.h
1 typedef struct _F_STACK_FRAME
2 {
3         struct _F_STACK_FRAME *previous;
4
5         /* Callee stores our LR here */
6         XT return_address;
7
8         /* ===== 32 bytes saved register area ===== */
9         CELL padding5[8];
10
11         /* ===== 16 byte local variable area ===== */
12
13         /* In compiled quotation frames, the quot->array slot.
14         In compiled word frames, unused. */
15         CELL array;
16
17         /* In compiled quotation frames, position within the array.
18         In compiled word frames, unused. */
19         CELL scan;
20
21         /* In all compiled frames, the XT on entry. */
22         XT xt;
23
24         /* ===== 12 byte padding to make it 16 byte aligned ===== */
25         CELL padding6[3];
26 } F_STACK_FRAME;
27
28 #define UAP_PROGRAM_COUNTER(ucontext) \
29         (((ucontext_t *)(ucontext))->uc_mcontext.uc_regs->gregs[PT_NIP])