#ifndef __CODE_H #define __CODE_H /* * 0-15 general flags for both vm and native * 16-31 for vm or native specific use. */ #define CODE_FLAG_GENERAL_START 0 #define CODE_FLAG_SPECIFIC_START 16 #define DefineGeneralFlag(n) (1<<((n) + CODE_FLAG_GENERAL_START)) #define DefineSpecificFlag(n) (1<<((n) + CODE_FLAG_SPECIFIC_START)) #define CODE_FLAG_IS_LABEL DefineGeneralFlag(0) #define CODE_FLAG_IS_REL_JMP DefineGeneralFlag(1) #define CODE_FLAG_IS_INST DefineGeneralFlag(2) #define CODE_FLAG_DO_NOT_DIVIDE DefineGeneralFlag(3) #define CODE_FLAG_GROUP_START DefineGeneralFlag(4) #define CODE_FLAG_GROUP_END DefineGeneralFlag(5) #define CODE_FLAG_HAS_ASM_OP DefineGeneralFlag(6) //Call all of the pre assembly operations MOVE THESE TO SPECIFIC FLAGS AT SOME POINT #define CODE_FLAG_IS_RIP_REL DefineGeneralFlag(7) //Figure out how to deal with this... #define CODE_FLAG_DOESNT_READ_FLAGS DefineGeneralFlag(8) #endif