public static LLInstructionBlock Create(LLFunction pFunction, LLLabel pStartLabel)
 {
     LLInstructionBlock block = new LLInstructionBlock();
     block.mFunction = pFunction;
     block.mStartLabel = pStartLabel;
     block.EmitLabel(pStartLabel);
     return block;
 }
示例#2
0
        public static LLInstructionBlock Create(LLFunction pFunction, LLLabel pStartLabel)
        {
            LLInstructionBlock block = new LLInstructionBlock();

            block.mFunction   = pFunction;
            block.mStartLabel = pStartLabel;
            block.EmitLabel(pStartLabel);
            return(block);
        }
示例#3
0
        public LLInstructionBlock CreateBlock(LLLabel pStartLabel)
        {
            if (mBlocks == null)
            {
                mBlocks = new List <LLInstructionBlock>();
            }
            LLInstructionBlock block = LLInstructionBlock.Create(this, pStartLabel);

            mBlocks.Add(block);
            if (mBlocks.Count == 1)
            {
                if (mLocals != null)
                {
                    foreach (LLLocal local in mLocals)
                    {
                        block.EmitAllocate(LLLocalLocation.Create(local));
                    }
                }
            }
            return(block);
        }
示例#4
0
 public virtual void Store(LLInstructionBlock pBlock, LLLocation pSource)
 {
     throw new NotSupportedException();
 }
示例#5
0
 public virtual LLLocation Load(LLInstructionBlock pBlock)
 {
     throw new NotSupportedException();
 }
示例#6
0
 public virtual void Store(LLInstructionBlock pBlock, LLLocation pSource)
 {
     throw new NotSupportedException();
 }
示例#7
0
 public virtual LLLocation Load(LLInstructionBlock pBlock)
 {
     throw new NotSupportedException();
 }