mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2024-12-24 05:45:36 +03:00
Removed PM's original "GCC JIT" implementations.
This commit is contained in:
parent
5daf73e3d5
commit
c504df473d
@ -61,7 +61,7 @@ OBJ_WIN32 := $(SRCFILES:%.cpp=$(OBJDIR_WIN32)/%.o)
|
||||
OBJC_WIN32 := $(CSRCFILES:%.c=$(OBJDIR_WIN32)/%.o)
|
||||
|
||||
|
||||
CCOPT = -g -ggdb3 -DMEMORY_TEST
|
||||
CCOPT = -march=i386 -O2 -s -DNDEBUG
|
||||
|
||||
INCLUDEDIRS=-I../curl/include -I$(SRCDIR) -I$(METADIR) -I$(SDKSRC)/engine -I$(SDKSRC)/common -I$(SDKSRC)/pm_shared -I$(SDKSRC)/dlls -I$(SDKSRC) $(EXTRA_INCLUDEDIRS)
|
||||
CFLAGS=-Wall -Wno-unknown-pragmas
|
||||
@ -70,7 +70,7 @@ CFLAGS:=$(CCOPT) $(CFLAGS) $(ODEF) $(EXTRA_FLAGS)
|
||||
|
||||
DO_CC_LINUX=$(CC_LINUX) $(CFLAGS) -fPIC $(INCLUDEDIRS) -o $@ -c $<
|
||||
DO_CC_WIN32=$(CC_WIN32) $(CFLAGS) $(INCLUDEDIRS) -o $@ -c $<
|
||||
LINK_LINUX=$(CC_LINUX) $(CFLAGS) -shared -ldl -lm -lstdc++ $(OBJ_LINUX) $(OBJC_LINUX) $(EXTRA_LIBDIRS_LINUX) $(EXTRA_LIBS_LINUX) -o $@
|
||||
LINK_LINUX=$(CC_LINUX) $(CFLAGS) -shared -ldl -lm $(OBJ_LINUX) $(OBJC_LINUX) $(EXTRA_LIBDIRS_LINUX) $(EXTRA_LIBS_LINUX) jits.o -o $@
|
||||
LINK_WIN32=$(LD_WINDLL) -mwindows --def $(MODNAME).def --add-stdcall-alias $(OBJ_WIN32) $(OBJC_WIN32) $(EXTRA_LIBDIRS_WIN32) $(EXTRA_LIBS_WIN32) -o $@
|
||||
|
||||
$(OBJDIR_LINUX)/%.o: $(SRCDIR)/%.c
|
||||
@ -114,4 +114,4 @@ clean_both:
|
||||
clean_win32:
|
||||
del /q $(OBJDIR_WIN32)
|
||||
|
||||
|
||||
|
||||
|
@ -562,11 +562,8 @@ static int amx_BrowseRelocate(AMX *amx)
|
||||
} /* if */
|
||||
#if defined __GNUC__ || defined ASM32 || defined JIT
|
||||
/* relocate symbol */
|
||||
#if defined JIT && defined __linux__
|
||||
#else
|
||||
*(cell *)(code+(int)cip) = opcode_list[op];
|
||||
#endif
|
||||
#endif
|
||||
#if defined JIT
|
||||
opcode_count++;
|
||||
#endif
|
||||
@ -788,10 +785,6 @@ static int amx_BrowseRelocate(AMX *amx)
|
||||
} /* for */
|
||||
|
||||
#if defined JIT
|
||||
#if defined __linux__
|
||||
// HACK: Determine maxcodesize
|
||||
asm_runJIT(NULL, NULL, NULL);
|
||||
#endif
|
||||
amx->code_size = getMaxCodeSize()*opcode_count + hdr->cod
|
||||
+ (hdr->stp - hdr->dat);
|
||||
amx->reloc_size = 2*sizeof(cell)*reloc_count;
|
||||
@ -1056,40 +1049,16 @@ int AMXAPI amx_Init(AMX *amx,void *program)
|
||||
}
|
||||
|
||||
#else /* #if defined __WIN32 __ */
|
||||
|
||||
// TODO: Add cases for Linux, Unix, OS/2, ...
|
||||
#if defined __linux__
|
||||
int memoryFullAccess(void* addr, int len)
|
||||
{
|
||||
//int oldProt = get_page_prot(addr);
|
||||
void* newAddr = (void*) ((int)addr - (int)addr % getpagesize());
|
||||
len += (int)addr % getpagesize();
|
||||
if (mprotect(newAddr, len, PROT_READ | PROT_WRITE | PROT_EXEC) != -1)
|
||||
return PROT_READ | PROT_WRITE | PROT_EXEC;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
int memorySetAccess(void* addr, int len, int access)
|
||||
{
|
||||
//int oldProt = get_page_prot(addr);
|
||||
void* newAddr = (void*) ((int)addr - (int)addr % getpagesize());
|
||||
len += (int)addr % getpagesize();
|
||||
mprotect(newAddr, len, access);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
// DOS32 has no imposed limits on its segments.
|
||||
#if defined __BORLANDC__ || defined __WATCOMC__
|
||||
#pragma argsused
|
||||
#endif
|
||||
int memoryFullAccess( void* addr, int len ) { return 1; }
|
||||
|
||||
#if defined __BORLANDC__ || defined __WATCOMC__
|
||||
#pragma argsused
|
||||
#endif
|
||||
int memorySetAccess( void* addr, int len, int access ) { return 1; }
|
||||
// DOS32 has no imposed limits on its segments.
|
||||
#if defined __BORLANDC__ || defined __WATCOMC__
|
||||
#pragma argsused
|
||||
#endif
|
||||
int memoryFullAccess( void* addr, int len ) { return 1; }
|
||||
|
||||
#if defined __BORLANDC__ || defined __WATCOMC__
|
||||
#pragma argsused
|
||||
#endif
|
||||
int memorySetAccess( void* addr, int len, int access ) { return 1; }
|
||||
|
||||
#endif /* #if defined __WIN32 __ */
|
||||
|
||||
|
@ -25,6 +25,8 @@
|
||||
#include <sclinux.h>
|
||||
#endif
|
||||
|
||||
#define JIT
|
||||
|
||||
#ifndef AMX_H_INCLUDED
|
||||
#define AMX_H_INCLUDED
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user