GetContext() now returns 'this' as a hack (shouldn't+can't be accessed anyway)
--HG-- branch : refac-jit extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/branches/refac-jit%402397
This commit is contained in:
parent
f9b294d89e
commit
79cf4e07eb
@ -494,7 +494,9 @@ namespace SourcePawn
|
||||
/**
|
||||
* @brief Deprecated, do not use.
|
||||
*
|
||||
* @return Opaque pointer.
|
||||
* Returns the pointer of this object, casted to an opaque structure.
|
||||
*
|
||||
* @return Returns this.
|
||||
*/
|
||||
virtual sp_context_t *GetContext() =0;
|
||||
|
||||
|
@ -52,7 +52,7 @@ BaseRuntime::~BaseRuntime()
|
||||
|
||||
void BaseRuntime::ClearCompile()
|
||||
{
|
||||
g_Jit1.FreeContextVars(m_pCtx->GetContext());
|
||||
g_Jit1.FreeContextVars(m_pCtx->GetCtx());
|
||||
g_Jit1.FreePluginVars(m_pPlugin);
|
||||
}
|
||||
|
||||
@ -349,3 +349,9 @@ size_t BaseRuntime::GetMemUsage()
|
||||
|
||||
return mem;
|
||||
}
|
||||
|
||||
BaseContext *BaseRuntime::GetBaseContext()
|
||||
{
|
||||
return m_pCtx;
|
||||
}
|
||||
|
||||
|
@ -45,6 +45,8 @@ public:
|
||||
virtual void SetPauseState(bool paused);
|
||||
virtual bool IsPaused();
|
||||
virtual size_t GetMemUsage();
|
||||
public:
|
||||
BaseContext *GetBaseContext();
|
||||
private:
|
||||
void ClearCompile();
|
||||
void RefreshFunctionCache();
|
||||
|
@ -65,6 +65,11 @@ IVirtualMachine *BaseContext::GetVirtualMachine()
|
||||
}
|
||||
|
||||
sp_context_t *BaseContext::GetContext()
|
||||
{
|
||||
return reinterpret_cast<sp_context_t *>((IPluginContext * )this);
|
||||
}
|
||||
|
||||
sp_context_t *BaseContext::GetCtx()
|
||||
{
|
||||
return &m_ctx;
|
||||
}
|
||||
@ -481,12 +486,14 @@ int BaseContext::LocalToStringNULL(cell_t local_addr, char **addr)
|
||||
|
||||
SourceMod::IdentityToken_t *BaseContext::GetIdentity()
|
||||
{
|
||||
return m_pToken;
|
||||
}
|
||||
SourceMod::IdentityToken_t *tok;
|
||||
|
||||
void BaseContext::SetIdentity(SourceMod::IdentityToken_t *token)
|
||||
{
|
||||
m_pToken = token;
|
||||
if (GetKey(1, (void **)&tok))
|
||||
{
|
||||
return tok;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
cell_t *BaseContext::GetNullRef(SP_NULL_TYPE type)
|
||||
@ -536,7 +543,7 @@ int BaseContext::Execute(IPluginFunction *function, const cell_t *params, unsign
|
||||
return SP_ERROR_NOT_RUNNABLE;
|
||||
}
|
||||
|
||||
if (m_ctx.hp + 16*sizeof(cell_t) > (cell_t)(m_ctx.sp - (sizeof(cell_t) * (num_params + 1))))
|
||||
if ((cell_t)(m_ctx.hp + 16*sizeof(cell_t)) > (cell_t)(m_ctx.sp - (sizeof(cell_t) * (num_params + 1))))
|
||||
{
|
||||
return SP_ERROR_STACKLOW;
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ public:
|
||||
public: //IPluginContext
|
||||
IVirtualMachine *GetVirtualMachine();
|
||||
sp_context_t *GetContext();
|
||||
sp_context_t *GetCtx();
|
||||
bool IsDebugging();
|
||||
int SetDebugBreak(void *newpfn, void *oldpfn);
|
||||
IPluginDebugInfo *GetDebugInfo();
|
||||
@ -82,7 +83,6 @@ public: //IPluginContext
|
||||
IPluginFunction *GetFunctionByName(const char *public_name);
|
||||
IPluginFunction *GetFunctionById(funcid_t func_id);
|
||||
SourceMod::IdentityToken_t *GetIdentity();
|
||||
void SetIdentity(SourceMod::IdentityToken_t *token);
|
||||
cell_t *GetNullRef(SP_NULL_TYPE type);
|
||||
int LocalToStringNULL(cell_t local_addr, char **addr);
|
||||
int BindNativeToIndex(uint32_t index, SPVM_NATIVE_FUNC native);
|
||||
@ -100,7 +100,6 @@ private:
|
||||
void _SetErrorMessage(const char *msg, ...);
|
||||
private:
|
||||
sp_plugin_t *m_pPlugin;
|
||||
SourceMod::IdentityToken_t *m_pToken;
|
||||
cell_t *m_pNullVec;
|
||||
cell_t *m_pNullString;
|
||||
char m_MsgCache[1024];
|
||||
|
@ -329,9 +329,9 @@ void SourcePawnEngine::PopTracer(int error, const char *msg)
|
||||
{
|
||||
uint32_t native = INVALID_CIP;
|
||||
|
||||
if (m_CallStack->ctx->GetContext()->n_err)
|
||||
if (m_CallStack->ctx->GetCtx()->n_err)
|
||||
{
|
||||
native = m_CallStack->ctx->GetContext()->n_idx;
|
||||
native = m_CallStack->ctx->GetCtx()->n_idx;
|
||||
}
|
||||
|
||||
CContextTrace trace(m_CallStack, error, msg, native);
|
||||
|
@ -38,6 +38,8 @@
|
||||
#include "../jit_version.h"
|
||||
#include "../sp_vm_engine.h"
|
||||
#include "../engine2.h"
|
||||
#include "BaseRuntime.h"
|
||||
#include "../sp_vm_basecontext.h"
|
||||
|
||||
#if defined USE_UNGEN_OPCODES
|
||||
#include "ungen_opcodes.h"
|
||||
@ -2416,10 +2418,7 @@ cell_t NativeCallback_Debug_Profile(sp_context_t *ctx, ucell_t native_idx, cell_
|
||||
|
||||
static cell_t InvalidNative(IPluginContext *pCtx, const cell_t *params)
|
||||
{
|
||||
sp_context_t *ctx = pCtx->GetContext();
|
||||
ctx->n_err = SP_ERROR_INVALID_NATIVE;
|
||||
|
||||
return 0;
|
||||
return pCtx->ThrowNativeErrorEx(SP_ERROR_INVALID_NATIVE, "Invalid native");
|
||||
}
|
||||
|
||||
jitoffs_t RelocLookup(JitWriter *jit, cell_t pcode_offs, bool relative)
|
||||
@ -2664,7 +2663,7 @@ jit_rewind:
|
||||
*************/
|
||||
|
||||
/* setup basics */
|
||||
sp_context_t *ctx = data->runtime->GetDefaultContext()->GetContext();
|
||||
sp_context_t *ctx = data->runtime->GetBaseContext()->GetCtx();
|
||||
|
||||
/* Clear out any old cruft */
|
||||
if (plugin->codebase != NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user