home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / kaffe-0.5p4-src.tgz / tar.out / contrib / kaffe / kaffevm / intrp / slots.h < prev   
C/C++ Source or Header  |  1996-09-28  |  878b  |  39 lines

  1. /*
  2.  * slots.h
  3.  *
  4.  * Copyright (c) 1996 Systems Architecture Research Centre,
  5.  *                 City University, London, UK.
  6.  *
  7.  * See the file "license.terms" for information on usage and redistribution
  8.  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  9.  *
  10.  * Written by Tim Wilkinson <tim@sarc.city.ac.uk>, May 1996.
  11.  */
  12.  
  13. #ifndef __slots_h
  14. #define    __slots_h
  15.  
  16. typedef struct _slots {
  17.     union {
  18.         jint        tint;
  19.         jlong        tlong;
  20.         jfloat        tfloat;
  21.         jdouble        tdouble;
  22.         void*        taddr;
  23.         char*        tstr;
  24.     } v;
  25. } slots;
  26.  
  27. #define    push(_n)    sp -= (_n)
  28. #define    pop(_n)        sp += (_n)
  29. #define    stack(_n)    (&lcl[meth->localsz+sp+(_n)])
  30. #define    local(_n)    (&lcl[(_n)])
  31. #define local_long(_n)    (&lcl[(_n)+1])
  32. #define local_float    local
  33. #define local_double    local_long
  34.  
  35. #define    slot_alloctmp(s) /* Does nothing for interpreter */
  36. #define    slot_nowriteback(s) /* Does nothing for interpreter */
  37.  
  38. #endif
  39.