Example #1
0
 protected internal override void EmitGet(CodeGen g)
 {
     OperandExtensions.SetLeakedState(this, false);
     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);
     }
 }
Example #2
0
        internal override void EmitGet(CodeGen g)
        {
            Operand before = g.Local(_target);

            _baseOp.SetOperand(before);
            _target.EmitSet(g, _baseOp, false);
            before.EmitGet(g);
        }
Example #3
0
        public override void EmitGet(CodeGen g)
        {
            Operand before = g.Local(target);

            baseOp.SetOperand(before);
            target.EmitSet(g, baseOp, false);
            before.EmitGet(g);
        }
Example #4
0
        protected internal override void EmitGet(CodeGen g)
        {
            OperandExtensions.SetLeakedState(this, false);
            Operand before = g.Local(_target);

            _baseOp.SetOperand(before);
            _target.EmitSet(g, _baseOp, false);
            before.EmitGet(g);
        }
Example #5
0
 public 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);
     }
 }
Example #6
0
 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);
     }
 }