/*++ Copyright (c) 1992 Microsoft Corporation Module Name: compiler.h Abstract: This include file defines the exports from compiler.lib. Author: Dave Hastings (daveh) creation-date 10-Jul-1995 Revision History: --*/ #ifndef _COMPILER_H_ #define _COMPILER_H_ #include // // Bit-flags which affect the way the compiler generates code. // #define COMPFL_FAST 1 // fastmode - implicit Eip, infrequent CpuNotify // checks, few ENTRYPOINTs #define COMPFL_SLOW 2 // slowmode - build ENTRYPOINT for each instruction extern DWORD CompilerFlags; // controls how the compiler generates code extern INSTRUCTION InstructionStream[MAX_INSTR_COUNT]; extern ULONG NumberOfInstructions; PENTRYPOINT NativeAddressFromEip( PVOID IntelEip, BOOL LockTCForWrite ); PVOID NativeAddressFromEipNoCompile( PVOID IntelEip ); PENTRYPOINT NativeAddressFromEipNoCompileEPWrite( PVOID IntelEip ); VOID GetEipFromException( PCPUCONTEXT cpu, PEXCEPTION_POINTERS pExceptionPointers ); // // This API is defined inside the fragment library, but is only used by the // compiling cpu (MSCPU). // VOID StartTranslatedCode( PTHREADSTATE ThreadState, PVOID NativeCode ); #endif