|
|
@ -37,9 +37,6 @@ void m3_FreeModule (IM3Module i_module)
|
|
|
|
for (u32 i = 0; i < i_module->numGlobals; ++i)
|
|
|
|
for (u32 i = 0; i < i_module->numGlobals; ++i)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m3_Free (i_module->globals[i].name);
|
|
|
|
m3_Free (i_module->globals[i].name);
|
|
|
|
}
|
|
|
|
|
|
|
|
for (u32 i = 0; i < i_module->numGlobals; ++i)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
FreeImportInfo(&(i_module->globals[i].import));
|
|
|
|
FreeImportInfo(&(i_module->globals[i].import));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m3_Free (i_module->globals);
|
|
|
|
m3_Free (i_module->globals);
|
|
|
@ -84,15 +81,15 @@ _try {
|
|
|
|
|
|
|
|
|
|
|
|
IM3Function func = Module_GetFunction (io_module, index);
|
|
|
|
IM3Function func = Module_GetFunction (io_module, index);
|
|
|
|
func->funcType = ft;
|
|
|
|
func->funcType = ft;
|
|
|
|
#if d_m3EnableStrace >= 2 || d_m3LogCompile
|
|
|
|
# if d_m3LogCompile
|
|
|
|
func->index = index;
|
|
|
|
func->index = index;
|
|
|
|
#endif
|
|
|
|
# endif
|
|
|
|
|
|
|
|
|
|
|
|
if (i_importInfo and func->numNames == 0)
|
|
|
|
if (i_importInfo and func->numNames == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
func->import = * i_importInfo;
|
|
|
|
func->import = * i_importInfo;
|
|
|
|
func->numNames = 1;
|
|
|
|
|
|
|
|
func->names[0] = i_importInfo->fieldUtf8;
|
|
|
|
func->names[0] = i_importInfo->fieldUtf8;
|
|
|
|
|
|
|
|
func->numNames = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m3log (module, " added function: %3d; sig: %d", index, i_typeIndex);
|
|
|
|
m3log (module, " added function: %3d; sig: %d", index, i_typeIndex);
|
|
|
@ -101,6 +98,32 @@ _try {
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Module_GenerateNames (IM3Module i_module)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
for (u32 i = 0; i < i_module->numFunctions; ++i)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
IM3Function func = & i_module->functions [i];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (func->numNames == 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
char* buff = m3_AllocArray(char, 16);
|
|
|
|
|
|
|
|
snprintf(buff, 16, "$func%d", i);
|
|
|
|
|
|
|
|
func->names[0] = buff;
|
|
|
|
|
|
|
|
func->numNames = 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
for (u32 i = 0; i < i_module->numGlobals; ++i)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
IM3Global global = & i_module->globals [i];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (global->name == NULL)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
char* buff = m3_AllocArray(char, 16);
|
|
|
|
|
|
|
|
snprintf(buff, 16, "$global%d", i);
|
|
|
|
|
|
|
|
global->name = buff;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
IM3Function Module_GetFunction (IM3Module i_module, u32 i_functionIndex)
|
|
|
|
IM3Function Module_GetFunction (IM3Module i_module, u32 i_functionIndex)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -119,11 +142,16 @@ IM3Function Module_GetFunction (IM3Module i_module, u32 i_functionIndex)
|
|
|
|
const char* m3_GetModuleName (IM3Module i_module)
|
|
|
|
const char* m3_GetModuleName (IM3Module i_module)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (!i_module || !i_module->name)
|
|
|
|
if (!i_module || !i_module->name)
|
|
|
|
return "<unknown>";
|
|
|
|
return ".unnamed";
|
|
|
|
|
|
|
|
|
|
|
|
return i_module->name;
|
|
|
|
return i_module->name;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void m3_SetModuleName (IM3Module i_module, const char* name)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (i_module) i_module->name = name;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
IM3Runtime m3_GetModuleRuntime (IM3Module i_module)
|
|
|
|
IM3Runtime m3_GetModuleRuntime (IM3Module i_module)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return i_module ? i_module->runtime : NULL;
|
|
|
|
return i_module ? i_module->runtime : NULL;
|
|
|
|