Esempio n. 1
0
static void LoadDebug(LoadState* S, Proto* f)
{
    int i,n;
    n=LoadInt(S);
    Align4(S);
    if (!luaZ_direct_mode(S->Z)) {
        f->lineinfo=luaM_newvector(S->L,n,int);
        LoadVector(S,f->lineinfo,n,sizeof(int));
    } else {
Esempio n. 2
0
static void LoadDebug(LoadState* S, Proto* f)
{
 int i,n;
 n=LoadInt(S);
 Align4(S);

#ifdef LUA_OPTIMIZE_DEBUG
 if(n) {
   if (!luaZ_direct_mode(S->Z)) {
     f->packedlineinfo=luaM_newvector(S->L,n,unsigned char);
     LoadBlock(S,f->packedlineinfo,n);
   } else {
Esempio n. 3
0
static void LoadCode(LoadState* S, Proto* f)
{
    int n=LoadInt(S);
    Align4(S);
    if (!luaZ_direct_mode(S->Z)) {
        f->code=luaM_newvector(S->L,n,Instruction);
        LoadVector(S,f->code,n,sizeof(Instruction));
    } else {
        f->code=(Instruction*)luaZ_get_crt_address(S->Z);
        LoadVector(S,NULL,n,sizeof(Instruction));
    }
    f->sizecode=n;
}
Esempio n. 4
0
static TString* LoadString(LoadState* S)
{
    int32_t size;
    LoadVar(S,size);
    if (size==0)
        return NULL;
    else
    {
        char* s;
        if (!luaZ_direct_mode(S->Z)) {
            s = luaZ_openspace(S->L,S->b,size);
            LoadBlock(S,s,size);
            return luaS_newlstr(S->L,s,size-1); /* remove trailing zero */
        } else {
            s = (char*)luaZ_get_crt_address(S->Z);
            LoadBlock(S,NULL,size);
            return luaS_newrolstr(S->L,s,size-1);
        }
    }
}