added api calls needed by core
--HG-- branch : refac-jit extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/branches/refac-jit%402375
This commit is contained in:
parent
31dd23fbd9
commit
492c913aa9
@ -829,6 +829,26 @@ namespace SourcePawn
|
|||||||
const cell_t *params,
|
const cell_t *params,
|
||||||
unsigned int num_params,
|
unsigned int num_params,
|
||||||
cell_t *result) =0;
|
cell_t *result) =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns whether a context is in an error state.
|
||||||
|
*
|
||||||
|
* This should only be used inside natives to determine whether
|
||||||
|
* a prior call failed.
|
||||||
|
*/
|
||||||
|
virtual int GetLastNativeError() =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns the local parameter stack, starting from the
|
||||||
|
* cell that contains the number of parameters passed.
|
||||||
|
*
|
||||||
|
* Local parameters are the parameters passed to the function
|
||||||
|
* from which a native was called (and thus this can only be
|
||||||
|
* called inside a native).
|
||||||
|
*
|
||||||
|
* @return Parameter stack.
|
||||||
|
*/
|
||||||
|
virtual cell_t *GetLocalParams() =0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -759,3 +759,13 @@ int DebugInfo::LookupLine(ucell_t addr, uint32_t *line)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#undef USHR
|
#undef USHR
|
||||||
|
|
||||||
|
int BaseContext::GetLastNativeError()
|
||||||
|
{
|
||||||
|
return m_ctx.n_err;
|
||||||
|
}
|
||||||
|
|
||||||
|
cell_t *BaseContext::GetLocalParams()
|
||||||
|
{
|
||||||
|
return (cell_t *)(m_pPlugin->memory + m_ctx.frm + (2 * sizeof(cell_t)));
|
||||||
|
}
|
||||||
|
@ -88,6 +88,8 @@ public: //IPluginContext
|
|||||||
int BindNativeToIndex(uint32_t index, SPVM_NATIVE_FUNC native);
|
int BindNativeToIndex(uint32_t index, SPVM_NATIVE_FUNC native);
|
||||||
int Execute(IPluginFunction *function, const cell_t *params, unsigned int num_params, cell_t *result);
|
int Execute(IPluginFunction *function, const cell_t *params, unsigned int num_params, cell_t *result);
|
||||||
IPluginRuntime *GetRuntime();
|
IPluginRuntime *GetRuntime();
|
||||||
|
int GetLastNativeError();
|
||||||
|
cell_t *GetLocalParams();
|
||||||
public:
|
public:
|
||||||
bool IsInExec();
|
bool IsInExec();
|
||||||
private:
|
private:
|
||||||
|
Loading…
Reference in New Issue
Block a user