windows-nt/Source/XPSP1/NT/base/wow64/mscpu/inc/compiler.h
2020-09-26 16:20:57 +08:00

74 lines
1.3 KiB
C

/*++
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 <threadst.h>
//
// 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