more api for core

sets profiler+debugger now

--HG--
branch : refac-jit
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/branches/refac-jit%402376
This commit is contained in:
David Anderson
2008-07-07 06:24:54 +00:00
parent 492c913aa9
commit 5351bbec71
12 changed files with 119 additions and 12 deletions
+10
View File
@@ -2673,6 +2673,8 @@ jit_rewind:
}
plugin->codebase = writer.outbase;
plugin->jit_codesize = codemem;
plugin->jit_memsize = 0;
/* setup memory */
@@ -2691,6 +2693,7 @@ jit_rewind:
if ((max = plugin->info.publics_num))
{
plugin->publics = new sp_public_t[max];
plugin->jit_memsize += sizeof(sp_public_t) * max;
for (iter=0; iter<max; iter++)
{
plugin->publics[iter].name = strbase + plugin->info.publics[iter].name;
@@ -2705,6 +2708,7 @@ jit_rewind:
{
uint8_t *dat = plugin->memory;
plugin->pubvars = new sp_pubvar_t[max];
plugin->jit_memsize += sizeof(sp_pubvar_t) * max;
for (iter=0; iter<max; iter++)
{
plugin->pubvars[iter].name = strbase + plugin->info.pubvars[iter].name;
@@ -2716,6 +2720,7 @@ jit_rewind:
if ((max = plugin->info.natives_num))
{
plugin->natives = new sp_native_t[max];
plugin->jit_memsize += sizeof(sp_native_t) * max;
for (iter=0; iter<max; iter++)
{
plugin->natives[iter].name = strbase + plugin->info.natives[iter].name;
@@ -2736,6 +2741,7 @@ jit_rewind:
/* relocate files */
max = plugin->debug.files_num;
plugin->files = new sp_debug_file_t[max];
plugin->jit_memsize += sizeof(sp_debug_file_t) * max;
for (iter=0; iter<max; iter++)
{
plugin->files[iter].addr = RelocLookup(jit, plugin->debug.files[iter].addr, false);
@@ -2745,6 +2751,7 @@ jit_rewind:
/* relocate lines */
max = plugin->debug.lines_num;
plugin->lines = new sp_debug_line_t[max];
plugin->jit_memsize += sizeof(sp_debug_line_t) * max;
for (iter=0; iter<max; iter++)
{
plugin->lines[iter].addr = RelocLookup(jit, plugin->debug.lines[iter].addr, false);
@@ -2758,6 +2765,7 @@ jit_rewind:
max = plugin->debug.syms_num;
plugin->symbols = new sp_debug_symbol_t[max];
plugin->jit_memsize += sizeof(sp_debug_symbol_t) * max;
for (iter=0; iter<max; iter++)
{
sym = (sp_fdbg_symbol_t *)cursor;
@@ -2805,6 +2813,8 @@ jit_rewind:
trk->pCur = trk->pBase;
trk->size = 1024 / sizeof(cell_t);
plugin->jit_memsize += trk->size;
/* clean up relocation+compilation memory */
co->Abort();