@@ -13,7 +13,7 @@
#define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1)
-#define getfuncline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : -1)
+// #define getfuncline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : -1)
#define resethookcount(L) (L->hookcount = L->basehookcount)
@@ -41,6 +41,13 @@
static const char *funcnamefromcode (lua_State *L, CallInfo *ci,
const char **name);
+static int getfuncline(Proto *p, int pc) {
+ int tmp2 = -1;
+ if (p->lineinfo)
+ tmp2 = p->lineinfo[pc];
+ memcpy(&tmp2, &p->lineinfo[pc], sizeof(tmp2));
+ return tmp2;
+}
static int currentpc (CallInfo *ci) {
lua_assert(isLua(ci));
@@ -341,10 +341,10 @@ static void LoadDebug (LoadState *S, Proto *f) {
int i, n;
n = LoadInt(S);
#ifdef LUAT_USE_MEMORY_OPTIMIZATION_CODE_MMAP
- char* ptr = (char*)luat_vfs_mmap(((LoadF*)S->Z->data)->f);
+ uint8_t* ptr = (uint8_t*)luat_vfs_mmap(((LoadF*)S->Z->data)->f);
int inst[1];
if (ptr) {
- f->lineinfo = ptr + ptr_offset;
+ f->lineinfo = (int*)(ptr + ptr_offset);
for (size_t i = 0; i < n; i++)
{
LoadVector(S, &inst, 1);