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 / lookup.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  1KB  |  55 lines

  1. /*
  2.  * lookup.h
  3.  * Various lookup calls for resolving objects, methods, exceptions, etc.
  4.  *
  5.  * Copyright (c) 1996 Systems Architecture Research Centre,
  6.  *           City University, London, UK.
  7.  *
  8.  * See the file "license.terms" for information on usage and redistribution
  9.  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  10.  *
  11.  * Written by Tim Wilkinson <tim@sarc.city.ac.uk>, February 1996.
  12.  */
  13.  
  14. #ifndef __lookup_h
  15. #define __lookup_h
  16.  
  17. struct _dispatchTable;
  18.  
  19. typedef struct _callInfo {
  20.     int            in;
  21.     int            out;
  22.     struct _dispatchTable*    dtable;
  23.     int            offset;
  24.     int            idx;
  25.     int            mtag;
  26.     char*            type;
  27.     char            rettype;
  28. } callInfo;
  29.  
  30. typedef struct _createInfo {
  31.     struct _classes*    class;
  32. } createInfo;
  33.  
  34. typedef struct _fieldInfo {
  35.     struct _classes*    class;
  36.     int            size;
  37.     int            offset;
  38.     bool            isref;
  39. } fieldInfo;
  40.  
  41. typedef struct _exceptionInfo {
  42.     int            handler;
  43.     struct _classes*    class;
  44. } exceptionInfo;
  45.  
  46. void    getMethodSignatureClass(constIndex, constants*, callInfo*);
  47. void    getClass(constIndex, constants*, createInfo*);
  48. void    getField(constIndex, bool, constants*, fieldInfo*);
  49. methods* findMethod(classes*, strpair*);
  50. void    findExceptionInMethod(uintp, classes*, exceptionInfo*);
  51. bool    findExceptionBlockInMethod(uintp, classes*, methods*, exceptionInfo*);
  52. methods* findMethodFromPC(uintp);
  53.  
  54. #endif
  55.