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 / soft.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  85 lines

  1. /*
  2.  * soft.h
  3.  * Soft instruction prototypes.
  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>, May 1996.
  12.  */
  13.  
  14. #ifndef __soft_h
  15. #define    __soft_h
  16.  
  17. struct _dispatchTable;
  18. struct _strpair;
  19. struct _classes;
  20. struct _object;
  21. struct _gcHead;
  22.  
  23. void*    soft_new(struct _classes*);
  24. void*    soft_anewarray(struct _classes*, jint);
  25. void*    soft_newarray(jint, jint);
  26.  
  27. void    soft_monitorenter(struct _object*);
  28. void    soft_monitorexit(struct _object*);
  29.  
  30. void*    soft_lookupmethod(struct _dispatchTable*, struct _strpair*);
  31. void    soft_checkcast(struct _classes*, struct _object*);
  32. jint    soft_instanceof(struct _classes*, struct _object*);
  33.  
  34. void    soft_athrow(struct _object*);
  35. void    soft_badarrayindex(void);
  36.  
  37. void    soft_addtogc(struct _gcHead*);
  38.  
  39. jint    soft_dcmpg(jdouble, jdouble);
  40. jint    soft_dcmpl(jdouble, jdouble);
  41. jint    soft_fcmpg(jfloat, jfloat);
  42. jint    soft_fcmpl(jfloat, jfloat);
  43.  
  44. #if defined(INTERPRETER)
  45. void*    soft_multianewarray(struct _classes*, jint, slots*);
  46. #endif
  47.  
  48. #if defined(TRANSLATOR)
  49. jlong    soft_lmul(jlong, jlong);
  50. jlong    soft_ldiv(jlong, jlong);
  51. jlong    soft_lrem(jlong, jlong);
  52. jfloat    soft_frem(jfloat, jfloat);
  53. jdouble    soft_freml(jdouble, jdouble);
  54. jlong    soft_lshll(jlong, jint);
  55. jlong    soft_ashrl(jlong, jint);
  56. jlong    soft_lshrl(jlong, jint);
  57. jint    soft_lcmp(jlong, jlong);
  58. void*    soft_multianewarray(struct _classes*, jint, ...);
  59. #endif
  60.  
  61. #if !defined(HAVE_NATIVE_INT64)
  62. jlong    soft_moveconst(jint);
  63. jlong    soft_ladd(jlong, jlong);
  64. jlong    soft_lsub(jlong, jlong);
  65. jlong    soft_lmul(jlong, jlong);
  66. jlong    soft_ldiv(jlong, jlong);
  67. jlong    soft_lrem(jlong, jlong);
  68. jlong    soft_lneg(jlong);
  69. jlong    soft_land(jlong, jlong);
  70. jlong    soft_lor(jlong, jlong);
  71. jlong    soft_lxor(jlong, jlong);
  72. jlong    soft_llshl(jlong, jint);
  73. jlong    soft_lashr(jlong, jint);
  74. jlong    soft_llshr(jlong, jint);
  75. jint    soft_lcmp(jlong, jlong);
  76. jlong    soft_cvtil(jint);
  77. jint    soft_cvtli(jlong);
  78. jfloat    soft_cvtlf(jlong);
  79. jdouble    soft_cvtld(jlong);
  80. jlong    soft_cvtfl(jfloat);
  81. jlong    soft_cvtdl(jdouble);
  82. #endif
  83.  
  84. #endif
  85.