This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/H/fields.h

101 lines
3.5 KiB
C

#ifndef _FIELDS_H_
#define _FIELDS_H_ 1
#undef HM
#undef HSPACE
#undef HSPACEN
#undef HI
#undef H_R
#undef HLOCK
#undef HRWLOCK
#undef HMOPCODE
#undef HPROC
#undef HATOMT
#undef HAROP
#undef HFOP
#undef HYOP
#undef HENVYOP
#undef HCPYOP
#define HM(TYPE, NAME, INIT, RECOVER) DEF NAME Yap_heap_regs->NAME##_
#define HSPACE(TYPE, NAME) DEF NAME Yap_heap_regs->NAME##_
#define HSPACEN(TYPE, N, NAME) DEF NAME Yap_heap_regs->NAME##_
#define HI(TYPE, NAME, INIT) DEF NAME Yap_heap_regs->NAME##_
#define H_R(TYPE, NAME, INIT) DEF NAME Yap_heap_regs->NAME##_
#define HLOCK(TYPE, NAME) DEF NAME Yap_heap_regs->NAME##_
#define HRWLOCK(TYPE, NAME) DEF NAME Yap_heap_regs->NAME##_
#define HMOPCODE(NAME, OP) DEF NAME Yap_heap_regs->NAME##_
#define HPROC(TYPE, NAME, INIT, RECOVER) DEF NAME Yap_heap_regs->NAME##_
#define HPROCN(TYPE, N, NAME, INIT, RECOVER) DEF NAME Yap_heap_regs->NAME##_
#define HATOMT(NAME, ATOM) DEF NAME Yap_heap_regs->NAME##_
#define HAROP(NAME, ATOM, ARITY, MODULE) DEF NAME Yap_heap_regs->NAME##_
#define HFOP(NAME, FUNC, MODULE) DEF NAME Yap_heap_regs->NAME##_
#define HYOP(N, NAME, FAILOP) DEF NAME Yap_heap_regs->NAME##_
#define HENVYOP(N, NAME, op, NEXTNAME, PFAIL) DEF NAME Yap_heap_regs->NAME##_
#define HCPYOP(N, NAME, OP, FAILP) DEF NAME Yap_heap_regs->NAME##_
#include "heap.h"
#undef HM
#undef HSPACE
#undef HSPACEN
#undef HI
#undef H_R
#undef HLOCK
#undef HRWLOCK
#undef HMOPCODE
#undef HPROC
#undef HATOMT
#undef HAROP
#undef HFOP
#undef HYOP
#undef HENVYOP
#undef HCPYOP
#define HM(TYPE, NAME, INIT, RECOVER) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HSPACE(TYPE, NAME) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HSPACEN(TYPE, N, NAME) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HI(TYPE, NAME, INIT) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define H_R(TYPE, NAME, INIT) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HLOCK(TYPE, NAME) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HRWLOCK(TYPE, NAME) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HMOPCODE(NAME, OP) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HPROC(TYPE, NAME, INIT, RECOVER) \
DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HPROCN(TYPE, N, NAME, INIT, RECOVER) \
DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HATOMT(NAME, ATOM) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HAROP(NAME, ATOM, ARITY, MODULE) \
DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HFOP(NAME, FUNC, MODULE) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HYOP(N, NAME, FAILOP) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HENVYOP(N, NAME, op, NEXTNAME, PFAIL) \
DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#define HCPYOP(N, NAME, OP, FAILP) DEF GLOBAL_##NAME Yap_heap_regs->NAME##_
#include "heap.h"
#undef LOC
#undef LOCL
#undef LOCN
#undef LOCLR
#define LOC(TYPE, NAME) DEF LOCAL_##NAME LOCAL->NAME
#define LOCL(TYPE, NAME, INIT) DEF LOCAL_##NAME LOCAL->NAME
#define LOCN(TYPE, N, NAME) DEF LOCAL_##NAME LOCAL->NAME
#define LOCLR(TYPE, NAME, INIT, RESTORE) DEF LOCAL_##NAME LOCAL->NAME
#include "locals.h"
#undef LOC
#undef LOCL
#undef LOCLR
#undef LOCN
#define LOC(TYPE, NAME) DEF REMOTE_##NAME(wid) REMOTE(wid)->NAME
#define LOCL(TYPE, NAME, INIT) DEF REMOTE_##NAME(wid) REMOTE(wid)->NAME
#define LOCN(TYPE, N, NAME) DEF REMOTE_##NAME(wid) REMOTE(wid)->NAME
#define LOCLR(TYPE, NAME, INIT, RESTORE) \
DEF REMOTE_##NAME(wid) REMOTE(wid)->NAME
#include "locals.h"
#endif