home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#)code.h 1.6 95/01/31
- *
- * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Permission to use, copy, modify, and distribute this software
- * and its documentation for NON-COMMERCIAL purposes and without
- * fee is hereby granted provided that this copyright notice
- * appears in all copies. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
- * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
- * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
- * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
- */
-
- /*
- * Definitions having to do with code generation
- */
-
- #ifndef _CODE_H_
- #define _CODE_H_
-
- #include <oobj.h>
-
- extern unsigned char *codebuf;
- extern int pc;
- extern char *binfilename;
- extern int reachable;
- extern char MustBranch[256];
- struct typeinfo;
- char *MakeSignature(struct typeinfo *, char *);
- void DecodeFile(char *);
- void PrintCodeSequence(struct methodblock *mb);
- void PrintClassSequence(ClassClass *);
-
- extern struct methodblock **procblocks;
-
- #define label() pc
- #define ComesHere(fixup) GoesThere(fixup, pc)
-
- /* field flags which share the type code byte in field bytecodes */
- #include <typecodes.h>
-
- #define FIELD_STATIC 0x40
- #define FIELD_GET 0x00
- #define FIELD_PUT 0x80
-
- #if N_TYPEMASK & (FIELD_STATIC | FIELD_PUT)
- #error "field flags and type codes overlap"
- #endif
-
- #endif /* !_CODE_H_ */
-