pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:4263:    ins_debug_instr_prologue(a-F_OFFSET, b, c);       amd64_get_storage( P_REG_RBX, b );       /* do not assign anything if this object is destructed. */       /* we really only need to redo this check after we have called    some other function. It is sort of hard to know when that    happens while generating the code, however. Simply assigning    the global could in theory actually destruct this object (old -  value includes something with a destroy that calls destruct on +  value includes something with a _destruct that calls destruct on    this object...)       Note that nothing crash if we do the assign. We "just" leak the    variable when the storage is eventually free:d.       The generated code does look sort of silly, however.    */    mov_mem_reg( fp_reg, OFFSETOF(pike_frame,current_object), ARG1_REG );    mov_mem_reg( ARG1_REG, OFFSETOF(object,prog), P_REG_RAX );    test_reg(P_REG_RAX);