251cced1f8
Various minor things done to project files Updated sample extension project file and updated makefile to the new unified version (more changes likely on the way) Updated regex project file and makefile --HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401971
84 lines
1.6 KiB
C++
84 lines
1.6 KiB
C++
/**
|
|
* vim: set ts=4 :
|
|
* =============================================================================
|
|
* SourcePawn JIT
|
|
* Copyright (C)2004-2008 AlliedModders LLC. All rights reserved.
|
|
* =============================================================================
|
|
*
|
|
* This file is not open source and may not be copied without explicit wriiten
|
|
* permission of AlliedModders LLC. This file may not be redistributed in whole
|
|
* or significant part.
|
|
* For information, see LICENSE.txt or http://www.sourcemod.net/license.php
|
|
*
|
|
* Version: $Id$
|
|
*/
|
|
|
|
#include <sp_vm_api.h>
|
|
#include <malloc.h>
|
|
#include "jit_x86.h"
|
|
#include "dll_exports.h"
|
|
|
|
SourcePawn::ISourcePawnEngine *engine = NULL;
|
|
JITX86 g_jit;
|
|
|
|
EXPORTFUNC int GiveEnginePointer2(SourcePawn::ISourcePawnEngine *engine_p, unsigned int api_version)
|
|
{
|
|
engine = engine_p;
|
|
|
|
if (api_version > SOURCEPAWN_ENGINE_API_VERSION || api_version < 2)
|
|
{
|
|
return SP_ERROR_PARAM;
|
|
}
|
|
|
|
return SP_ERROR_NONE;
|
|
}
|
|
|
|
EXPORTFUNC unsigned int GetExportCount()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
EXPORTFUNC SourcePawn::IVirtualMachine *GetExport(unsigned int exportnum)
|
|
{
|
|
/* Don't return anything if we're not initialized yet */
|
|
if (!engine)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
/* We only have one export - 0 */
|
|
if (exportnum)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
return &g_jit;
|
|
}
|
|
|
|
#if defined __linux__
|
|
extern "C" void __cxa_pure_virtual(void)
|
|
{
|
|
}
|
|
|
|
void *operator new(size_t size)
|
|
{
|
|
return malloc(size);
|
|
}
|
|
|
|
void *operator new[](size_t size)
|
|
{
|
|
return malloc(size);
|
|
}
|
|
|
|
void operator delete(void *ptr)
|
|
{
|
|
free(ptr);
|
|
}
|
|
|
|
void operator delete[](void * ptr)
|
|
{
|
|
free(ptr);
|
|
}
|
|
#endif
|
|
|