Exemplo n.º 1
0
 public StackInfo Throw(APC pc, Dummy exception, StackInfo data)
 {
     return(new StackInfo(0, 0));
 }
Exemplo n.º 2
0
 public StackInfo EndFinally(APC pc, StackInfo data)
 {
     return(new StackInfo(0, 0));
 }
Exemplo n.º 3
0
 public StackInfo LoadArgAddress(APC pc, Parameter argument, bool isOld, Dummy dest, StackInfo data)
 {
     return(data.Push());
 }
Exemplo n.º 4
0
        public StackInfo Calli <TypeList, ArgList> (APC pc, TypeNode returnType, TypeList argTypes, bool instance, Dummy dest, Dummy functionPointer, ArgList args, StackInfo data)
            where TypeList : IIndexable <TypeNode>
            where ArgList : IIndexable <Dummy>
        {
            int count = 1;

            if (instance)
            {
                ++count;
            }
            int slots = count + (argTypes == null ? 0 : argTypes.Count);

            data.Pop(slots);
            if (MetaDataProvider.IsVoid(returnType))
            {
                return(data);
            }
            return(data.Push());
        }
Exemplo n.º 5
0
 public StackInfo CopyBlock(APC pc, Dummy destAddress, Dummy srcAddress, Dummy len, StackInfo data)
 {
     return(data.Pop(3));
 }
Exemplo n.º 6
0
 public StackInfo BranchCond(APC pc, APC target, BranchOperator bop, Dummy value1, Dummy value2, StackInfo data)
 {
     return(data.Pop(2));
 }
Exemplo n.º 7
0
 public StackInfo Break(APC pc, StackInfo data)
 {
     return(data);
 }
Exemplo n.º 8
0
 public StackInfo Sizeof(APC pc, TypeNode type, Dummy dest, StackInfo data)
 {
     return(data.Push());
 }
Exemplo n.º 9
0
 public StackInfo Unary(APC pc, UnaryOperator op, bool unsigned, Dummy dest, Dummy source, StackInfo data)
 {
     return(data.Pop(1).Push());
 }
Exemplo n.º 10
0
 public StackInfo LoadNull(APC pc, Dummy dest, StackInfo polarity)
 {
     return(polarity.Push());
 }
Exemplo n.º 11
0
 public StackInfo LoadConst(APC pc, TypeNode type, object constant, Dummy dest, StackInfo data)
 {
     return(data.Push());
 }
Exemplo n.º 12
0
 public StackInfo Isinst(APC pc, TypeNode type, Dummy dest, Dummy obj, StackInfo data)
 {
     return(data);
 }
Exemplo n.º 13
0
 public StackInfo Binary(APC pc, BinaryOperator op, Dummy dest, Dummy operand1, Dummy operand2, StackInfo data)
 {
     return(data.Pop(2).Push());
 }
Exemplo n.º 14
0
 public StackInfo UnboxAny(APC pc, TypeNode type, Dummy dest, Dummy obj, StackInfo data)
 {
     return(data.Pop(1).Push());
 }
Exemplo n.º 15
0
 public StackInfo Arglist(APC pc, Dummy dest, StackInfo data)
 {
     return(data.Push());
 }
Exemplo n.º 16
0
 public StackInfo Entry(APC pc, Method method, StackInfo data)
 {
     return(data);
 }
Exemplo n.º 17
0
 public StackInfo Branch(APC pc, APC target, bool leavesExceptionBlock, StackInfo data)
 {
     return(data);
 }
Exemplo n.º 18
0
 public StackInfo Assert(APC pc, EdgeTag tag, Dummy condition, StackInfo data)
 {
     return(data.Pop(1));
 }
Exemplo n.º 19
0
 public StackInfo BranchFalse(APC pc, APC target, Dummy cond, StackInfo data)
 {
     return(data.Pop(1));
 }
Exemplo n.º 20
0
 public StackInfo BeginOld(APC pc, APC matchingEnd, StackInfo data)
 {
     return(new StackInfo(OldStartDepth(pc.Block.Subroutine), 4));
 }
Exemplo n.º 21
0
        public StackInfo Call <TypeList, ArgList> (APC pc, Method method, bool virt, TypeList extraVarargs, Dummy dest, ArgList args, StackInfo data)
            where TypeList : IIndexable <TypeNode>
            where ArgList : IIndexable <Dummy>
        {
            int count = MetaDataProvider.Parameters(method).Count + (extraVarargs == null ? 0 : extraVarargs.Count);

            if (!MetaDataProvider.IsStatic(method))
            {
                if (data.IsThis(count))
                {
                    this.stack_depth_mirror_for_end_old.AddCallOnThis(pc);
                }
                ++count;
            }
            data = data.Pop(count);
            if (MetaDataProvider.IsVoidMethod(method))
            {
                return(data);
            }
            return(data.Push());
        }
Exemplo n.º 22
0
 public StackInfo EndOld(APC pc, APC matchingBegin, TypeNode type, Dummy dest, Dummy source, StackInfo data)
 {
     return(new StackInfo(this.stack_depth_mirror_for_end_old [matchingBegin] + 1, 4));
 }
Exemplo n.º 23
0
 public StackInfo CheckFinite(APC pc, Dummy dest, Dummy source, StackInfo data)
 {
     return(data);
 }
Exemplo n.º 24
0
 public StackInfo LoadStack(APC pc, int offset, Dummy dest, Dummy source, bool isOld, StackInfo data)
 {
     return(data.Push(data [offset]));
 }
Exemplo n.º 25
0
 public StackInfo EndFilter(APC pc, Dummy decision, StackInfo data)
 {
     return(data.Pop(1));
 }
Exemplo n.º 26
0
 public StackInfo LoadStackAddress(APC pc, int offset, Dummy dest, Dummy source, TypeNode type, bool isOld, StackInfo data)
 {
     return(data.Push());
 }
Exemplo n.º 27
0
 public StackInfo Jmp(APC pc, Method method, StackInfo data)
 {
     return(new StackInfo(0, 0));
 }
Exemplo n.º 28
0
 public StackInfo LoadResult(APC pc, TypeNode type, Dummy dest, Dummy source, StackInfo data)
 {
     return(data.Push());
 }
Exemplo n.º 29
0
 public StackInfo LoadLocalAddress(APC pc, Local local, Dummy dest, StackInfo data)
 {
     return(data.Push());
 }
Exemplo n.º 30
0
 public StackInfo StoreStaticField(APC pc, Field field, Dummy value, StackInfo data)
 {
     return(data.Pop(1));
 }