qemu/target/hppa/translate.c
/* Mark the end of an instruction that may have been nullified.
   This is the pair to nullify_over.  */
Mark the end of an instruction that may have been nullified.
This is the pair to nullify_over.
Mark the end of an instruction that may have been nullified . This is the pair to nullify_over .
static DisasJumpType nullify_end(DisasContext *ctx, DisasJumpType status)
{
    TCGLabel *null_lab = ctx->null_lab;
    assert(status != DISAS_IAQ_N_UPDATED);
    if (likely(null_lab == NULL)) {
        return status;
    }
    ctx->null_lab = NULL;
    if (likely(ctx->null_cond.c == TCG_COND_NEVER)) {
        gen_set_label(null_lab);
    } else {
        nullify_save(ctx);
        gen_set_label(null_lab);
        ctx->null_cond = cond_make_n();
    }
    if (status == DISAS_NORETURN) {
        status = DISAS_NEXT;
    }
    return status;
}
static DisasJumpType nullify_end ( DisasContext * ctx , DisasJumpType status ) { TCGLabel * null_lab = ctx -> null_lab ; assert ( status != DISAS_IAQ_N_UPDATED ) ; if ( likely ( null_lab == NULL ) ) { return status ; } ctx -> null_lab = NULL ; if ( likely ( ctx -> null_cond . c == TCG_COND_NEVER ) ) { gen_set_label ( null_lab ) ; } else { nullify_save ( ctx ) ; gen_set_label ( null_lab ) ; ctx -> null_cond = cond_make_n ( ) ; } if ( status == DISAS_NORETURN ) { status = DISAS_NEXT ; } return status ; }
Mark the end of an instruction that may have been nullified.
Mark the end of an instruction that may have been nullified .
/* For NEXT, NORETURN, STALE, we can easily continue (or exit).
       For UPDATED, we cannot update on the nullified path.  */ /* The current insn wasn't conditional or handled the condition
           applied to it without a branch, so the (new) setting of
           NULL_COND can be applied directly to the next insn.  */ /* The next instruction will be unconditional,
           and NULL_COND already reflects that.  */ /* The insn that we just executed is itself nullifying the next
           instruction.  Store the condition in the PSW[N] global.
           We asserted PSW[N] = 0 in nullify_over, so that after the
           label we have the proper value in place.  */