Fix: never replace LAR/SAR by AAR LOI/STI if descriptor is not in ROM
This commit is contained in:
parent
d5505f2f02
commit
911b0a43d8
|
@ -184,9 +184,10 @@ STATIC bool okay_lines(avp, ocp)
|
||||||
* as an AAR LOI/STI. This depends on the size of the array-elements.
|
* as an AAR LOI/STI. This depends on the size of the array-elements.
|
||||||
*/
|
*/
|
||||||
if (INSTR(ocp->oc_llast) == op_lar || INSTR(ocp->oc_llast) == op_sar) {
|
if (INSTR(ocp->oc_llast) == op_lar || INSTR(ocp->oc_llast) == op_sar) {
|
||||||
|
sz = array_elemsize(avp->av_othird);
|
||||||
|
if (sz == UNKNOWN_SIZE) return FALSE;
|
||||||
if (avp->av_instr == (byte) op_aar && time_space_ratio < 50) {
|
if (avp->av_instr == (byte) op_aar && time_space_ratio < 50) {
|
||||||
return (sz = array_elemsize(avp->av_othird)) <= AR_limit &&
|
return sz <= AR_limit;
|
||||||
sz != UNKNOWN_SIZE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in a new issue