@@ -72,8 +72,8 @@ struct DisasContext {
72
72
unsigned cpenable ;
73
73
74
74
uint32_t op_flags ;
75
- xtensa_insnbuf insnbuf ;
76
- xtensa_insnbuf slotbuf ;
75
+ xtensa_insnbuf_word insnbuf [ MAX_INSNBUF_LENGTH ] ;
76
+ xtensa_insnbuf_word slotbuf [ MAX_INSNBUF_LENGTH ] ;
77
77
};
78
78
79
79
static TCGv_i32 cpu_pc ;
@@ -1173,16 +1173,6 @@ static void xtensa_tr_init_disas_context(DisasContextBase *dcbase,
1173
1173
dc -> cwoe = tb_flags & XTENSA_TBFLAG_CWOE ;
1174
1174
dc -> callinc = ((tb_flags & XTENSA_TBFLAG_CALLINC_MASK ) >>
1175
1175
XTENSA_TBFLAG_CALLINC_SHIFT );
1176
-
1177
- /*
1178
- * FIXME: This will leak when a failed instruction load or similar
1179
- * event causes us to longjump out of the translation loop and
1180
- * hence not clean-up in xtensa_tr_tb_stop
1181
- */
1182
- if (dc -> config -> isa ) {
1183
- dc -> insnbuf = xtensa_insnbuf_alloc (dc -> config -> isa );
1184
- dc -> slotbuf = xtensa_insnbuf_alloc (dc -> config -> isa );
1185
- }
1186
1176
init_sar_tracker (dc );
1187
1177
}
1188
1178
@@ -1272,10 +1262,6 @@ static void xtensa_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
1272
1262
DisasContext * dc = container_of (dcbase , DisasContext , base );
1273
1263
1274
1264
reset_sar_tracker (dc );
1275
- if (dc -> config -> isa ) {
1276
- xtensa_insnbuf_free (dc -> config -> isa , dc -> insnbuf );
1277
- xtensa_insnbuf_free (dc -> config -> isa , dc -> slotbuf );
1278
- }
1279
1265
if (dc -> icount ) {
1280
1266
tcg_temp_free (dc -> next_icount );
1281
1267
}
@@ -3746,7 +3732,7 @@ static const XtensaOpcodeOps core_ops[] = {
3746
3732
.name = "pfwait.a" ,
3747
3733
.translate = translate_nop ,
3748
3734
}, {
3749
- .name = "pfwait.o " ,
3735
+ .name = "pfwait.r " ,
3750
3736
.translate = translate_nop ,
3751
3737
}, {
3752
3738
.name = "pitlb" ,
0 commit comments