Changeset 22802 for v6

Show
Ignore:
Timestamp:
10/28/08 16:50:30 (2 months ago)
Author:
ruoso
Message:

[smop-XS] er... it was not actually that hard... fixed!

Location:
v6/smop/SMOP
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • v6/smop/SMOP/SMOP.xs

    r22801 r22802  
    110110    AV* constsav = (AV*)SvRV(consts); 
    111111    int constslen = av_len(constsav); 
    112     SMOP__Object** consts_arr = calloc(constslen+1,sizeof(void*)); 
     112    SMOP__Object** consts_arr = calloc(constslen+2,sizeof(void*)); 
    113113    int i; 
    114114    for (i = 0; i <= constslen; i++) { 
     
    132132    AV* codeav = (AV*)SvRV(bytecode); 
    133133    int codelen = av_len(codeav); 
    134     int* code_arr = calloc(codelen+1,sizeof(void*)); 
     134    int* code_arr = calloc(codelen+2,sizeof(void*)); 
    135135    for (i = 0; i <= codelen; i++) { 
    136136        SV** e = av_fetch(codeav,i,0); 
     
    152152    SV* value = SvRV(moldrv); 
    153153    SMOP__Object* mold = (SMOP__Object*)SvIV(value); 
    154     SMOP__Object* frame = SMOP__Mold__Frame_create(SMOP__GlobalInterpreter, mold); 
     154    SMOP__Object* frame = SMOP__Mold__Frame_create(SMOP__GlobalInterpreter, SMOP_REFERENCE(SMOP__GlobalInterpreter,mold)); 
    155155    SV* pointer = newSViv((int)frame); 
    156156    SV* object = newRV_noinc(pointer); 
  • v6/smop/SMOP/t/run_mold.t

    r22801 r22802  
    3838 
    3939SMOP::Interpreter->run($frame); 
     40