74 lines
1.3 KiB
C
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
|