Branch: Tag:

2014-08-18

2014-08-18 13:12:34 by Per Hedbor <ph@opera.com>

Reintroduced missing test before using private globals.

703:    struct identifier *id = ID_FROM_PTR(Pike_compiler->new_program, ref);       if(!(id->identifier_flags & IDENTIFIER_NO_THIS_REF) +  && !ref->inherit_offset    && !IDENTIFIER_IS_ALIAS(id->identifier_flags)    && IDENTIFIER_IS_VARIABLE(id->identifier_flags))    {
716:    return;    }    -  if( (id->func.offset < 65536) && (n<65536) ) -  { -  +     if( id->run_time_type == PIKE_T_MIXED )    {    emit2(F_PRIVATE_IF_DIRECT_GLOBAL, id->func.offset, n);    return;    } - /* else */ - /* { */ + /* else if( (id->func.offset < 65536) && (n<65536) ) */ + /* { */   /* INT32 mix = id->func.offset | (n<<16); */   /* emit2(F_PRIVATE_IF_DIRECT_TYPED_GLOBAL, mix, id->run_time_type); */ -  + /* } */    } -  } -  +     emit1(F_GLOBAL, n);   }   
741:    struct identifier *id = ID_FROM_PTR(Pike_compiler->new_program, ref);       if( !(id->identifier_flags & IDENTIFIER_NO_THIS_REF) +  && !ref->inherit_offset    && !IDENTIFIER_IS_ALIAS(id->identifier_flags)    && IDENTIFIER_IS_VARIABLE(id->identifier_flags))    {