MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / arithSetup

Method arithSetup

source/emulation/cpu/jit/jit.cpp:213–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

211}
212
213void Jit::arithSetup(DecodedOp* op, U32& needsToSetFlags, LazyFlagType flagType, RegPtr cf) {
214 const LazyFlags* flags = lazyFlags[flagType];
215 if (flags) {
216 needsToSetFlags = op->needsToSetFlags(cpu);
217 }
218 if (needsToSetFlags) {
219 if ((flags && flags->usesOldCF(needsToSetFlags)) || (!(instructionInfo[op->inst].flagsSets & CF) && op->getNeededFlagsAfter(CF))) {
220 if (!cf) {
221 cf = getCF();
222 }
223 storeLazyFlagsOldCF(cf);
224 }
225 storeLazyFlagType(flagType);
226 currentLazyFlags = flagType;
227 }
228}
229
230void Jit::dynamic_MI(DecodedOp* op, JitWidth width, InstRegImm callback, LazyFlagType flagType, bool writeback, bool addCF, InstRegReg cfCallback, InstRegImmCF callbackWithCF) {
231 const LazyFlags* flags = lazyFlags[flagType];

Callers

nothing calls this directly

Calls 3

needsToSetFlagsMethod · 0.80
getNeededFlagsAfterMethod · 0.80
usesOldCFMethod · 0.45

Tested by

no test coverage detected