internal override void EmitGet(CodeGen g) { Operand before = g.Local(target); baseOp.SetOperand(before); target.EmitSet(g, baseOp, false); before.EmitGet(g); }
internal override void EmitGet(CodeGen g) { if (target.TrivialAccess) { target.EmitSet(g, baseOp, false); target.EmitGet(g); } else { Operand tmp = g.Local(target); baseOp.SetOperand(tmp); tmp.EmitSet(g, baseOp, false); target.EmitSet(g, tmp, false); tmp.EmitGet(g); } }