merged in the easy relocation requiring opcodes

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4096
This commit is contained in:
David Anderson
2006-09-23 04:11:01 +00:00
parent 845ae65797
commit 968692755b
7 changed files with 990 additions and 693 deletions
+8 -1
View File
@@ -15,17 +15,20 @@ class CompData : public ICompilation
{
public:
CompData() : plugin(NULL),
debug(false), inline_level(3), checks(true)
debug(false), inline_level(3), checks(true),
rebase(NULL)
{
};
public:
sp_plugin_t *plugin;
jitcode_t *rebase;
jitoffs_t jit_return;
jitoffs_t jit_verify_addr_eax;
jitoffs_t jit_verify_addr_edx;
jitoffs_t jit_chkmargin_heap;
jitoffs_t jit_bounds;
jitoffs_t jit_break;
uint32_t codesize;
int inline_level;
bool checks;
bool debug;
@@ -45,6 +48,8 @@ public:
int ContextExecute(sp_context_t *ctx, uint32_t code_idx, cell_t *result);
};
jitoffs_t RelocLookup(JitWriter *jit, cell_t pcode_offs, bool relative=false);
#define AMX_REG_PRI REG_EAX
#define AMX_REG_ALT REG_EDX
#define AMX_REG_STK REG_EBP
@@ -61,4 +66,6 @@ public:
#define AMX_INFO_STACKTOP 16 //relocated
#define AMX_INFO_HEAPLOW 20 //not relocated
extern ISourcePawnEngine *engine;
#endif //_INCLUDE_SOURCEPAWN_JIT_X86_H_