示例#1
0
        internal override void Store(LLFunction pFunction, LLLocation pSource)
        {
            LLLocation locationElementPointer = HLArrayElementAddressLocation.LoadArrayElementPointer(pFunction, Instance, Index, ElementType);
            LLLocation locationSource         = pFunction.CurrentBlock.EmitConversion(pSource, locationElementPointer.Type.PointerDepthMinusOne);

            pFunction.CurrentBlock.EmitStore(locationElementPointer, locationSource);
        }
示例#2
0
        internal override LLLocation Load(LLFunction pFunction)
        {
            LLLocation locationElementPointer = HLArrayElementAddressLocation.LoadArrayElementPointer(pFunction, Instance, Index, ElementType);
            LLLocation locationTemporary      = LLTemporaryLocation.Create(pFunction.CreateTemporary(locationElementPointer.Type.PointerDepthMinusOne));

            pFunction.CurrentBlock.EmitLoad(locationTemporary, locationElementPointer);
            return(locationTemporary);
        }