Fix InterpOne's output for predicted types
We were always pushing the output type onto the simulated stack, effectively passing it as an asserted type, even when the type came from type prediction.
Esse commit está contido em:
@@ -3357,6 +3357,8 @@ Type HhbcTranslator::interpOutputType(const NormalizedInstruction& inst) const {
|
||||
return t.isBoxed() ? t : boxType(t);
|
||||
};
|
||||
|
||||
if (inst.outputPredicted) return Type::Gen;
|
||||
|
||||
auto outFlag = getInstrInfo(inst.op()).type;
|
||||
if (outFlag == OutFInputL) {
|
||||
outFlag = inst.preppedByRef ? OutVInputL : OutCInputL;
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário