Fixed outputname null pointer crash in sdktools (
bug 4422, r=fyren)
1 #ifndef _INCLUDE_SOURCEPAWN_JIT_RUNTIME_H_
2 #define _INCLUDE_SOURCEPAWN_JIT_RUNTIME_H_
5 #include "jit_shared.h"
6 #include "sp_vm_function.h"
11 class DebugInfo : public IPluginDebugInfo
14 DebugInfo(sp_plugin_t *plugin);
16 int LookupFile(ucell_t addr, const char **filename);
17 int LookupFunction(ucell_t addr, const char **name);
18 int LookupLine(ucell_t addr, uint32_t *line);
20 sp_plugin_t *m_pPlugin;
23 /* Jit wants fast access to this so we expose things as public */
24 class BaseRuntime : public SourcePawn::IPluginRuntime
30 virtual int CreateBlank(uint32_t heastk);
31 virtual int CreateFromMemory(sp_file_hdr_t *hdr, uint8_t *base);
32 virtual bool IsDebugging();
33 virtual IPluginDebugInfo *GetDebugInfo();
34 virtual int FindNativeByName(const char *name, uint32_t *index);
35 virtual int GetNativeByIndex(uint32_t index, sp_native_t **native);
36 virtual uint32_t GetNativesNum();
37 virtual int FindPublicByName(const char *name, uint32_t *index);
38 virtual int GetPublicByIndex(uint32_t index, sp_public_t **publicptr);
39 virtual uint32_t GetPublicsNum();
40 virtual int GetPubvarByIndex(uint32_t index, sp_pubvar_t **pubvar);
41 virtual int FindPubvarByName(const char *name, uint32_t *index);
42 virtual int GetPubvarAddrs(uint32_t index, cell_t *local_addr, cell_t **phys_addr);
43 virtual uint32_t GetPubVarsNum();
44 virtual IPluginFunction *GetFunctionByName(const char *public_name);
45 virtual IPluginFunction *GetFunctionById(funcid_t func_id);
46 virtual IPluginContext *GetDefaultContext();
47 virtual int ApplyCompilationOptions(ICompilation *co);
48 virtual void SetPauseState(bool paused);
49 virtual bool IsPaused();
50 virtual size_t GetMemUsage();
51 JitFunction *GetJittedFunction(uint32_t idx);
52 uint32_t AddJittedFunction(JitFunction *fn);
54 BaseContext *GetBaseContext();
57 unsigned int m_NumFuncs;
58 unsigned int m_MaxFuncs;
59 JitFunction **m_FuncCache;
62 sp_plugin_t *m_pPlugin;
64 CFunction **m_PubFuncs;
65 JitFunction **m_PubJitFuncs;
67 unsigned int m_CompSerial;
70 #endif //_INCLUDE_SOURCEPAWN_JIT_RUNTIME_H_