Ignore:
Timestamp:
Feb 22, 2004, 1:27:13 AM (16 years ago)
Author:
gb
Message:

PPC64 changes (some of them rather suspect ...). 32-bit kernel may be a
little funky ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/macros.h

    r6 r557  
    2222#define __macros__
    2323
     24#define ptr_to_lispobj(p) ((LispObj)((unsigned_of_pointer_size)(p)))
     25#define ptr_from_lispobj(o) ((LispObj*)((unsigned_of_pointer_size)(o)))
    2426#define lisp_reg_p(reg)  ((reg) >= fn)
    2527
     
    2830#define untag(o) ((o) & ~fulltagmask)
    2931
    30 #define deref(o,n) (*((LispObj*) ((LispObj *)(untag((LispObj)o)))+(n)))
     32#define deref(o,n) (*((LispObj*) (ptr_from_lispobj(untag((LispObj)o)))+(n)))
    3133#define header_of(o) deref(o,0)
    3234
     
    4749#define FBOUNDP(sym) ((((lispsymbol *)(sym))->fcell) != nrs_UDF.vcell)
    4850
     51#ifdef PPC64
     52#define nodeheader_tag_p(tag) (((tag) & lowtag_mask) == lowtag_nodeheader)
     53#else
     54#define nodeheader_tag_p(tag) (tag == fulltag_nodeheader)
     55#endif
     56
     57#ifdef PPC64
     58#define immheader_tag_p(tag) (((tag) & lowtag_mask) == lowtag_immheader)
     59#else
     60#define immheader_tag_p(tag) (tag == fulltag_immheader)
     61#endif
    4962
    5063/* lfuns */
Note: See TracChangeset for help on using the changeset viewer.