Example #1
0
 private bool canAccessFamily(IntPtr _this, CORINFO_METHOD_STRUCT_* hCaller, CORINFO_CLASS_STRUCT_* hInstanceType)
 { throw new NotImplementedException("canAccessFamily"); }
Example #2
0
 private CorInfoHelpFunc getNewArrHelper(IntPtr _this, CORINFO_CLASS_STRUCT_* arrayCls)
 { throw new NotImplementedException("getNewArrHelper"); }
Example #3
0
        private CORINFO_CLASS_STRUCT_* getTypeForBox(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
        {
            var type = HandleToObject(cls);

            var typeForBox = type.IsNullable ? type.Instantiation[0] : type;

            return ObjectToHandle(typeForBox);
        }
Example #4
0
 private uint getClassAlignmentRequirement(IntPtr _this, CORINFO_CLASS_STRUCT_* cls, [MarshalAs(UnmanagedType.Bool)]bool fDoubleAlignHint)
 { throw new NotImplementedException("getClassAlignmentRequirement"); }
Example #5
0
        private uint getClassNumInstanceFields(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
        {
            TypeDesc type = HandleToObject(cls);

            uint result = 0;
            foreach (var field in type.GetFields())
            {
                if (!field.IsStatic)
                    result++;
            }

            return result;
        }
Example #6
0
 private bool isStructRequiringStackAllocRetBuf(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 {
     // Disable this optimization. It has limited value (only kicks in on x86, and only for less common structs),
     // causes bugs and introduces odd ABI differences not compatible with ReadyToRun.
     return false;
 }
Example #7
0
 private byte* getClassModuleIdForStatics(IntPtr _this, CORINFO_CLASS_STRUCT_* cls, CORINFO_MODULE_STRUCT_** pModule, void** ppIndirection)
 { throw new NotImplementedException("getClassModuleIdForStatics"); }
Example #8
0
        private void getMethodSig(IntPtr _this, CORINFO_METHOD_STRUCT_* ftn, CORINFO_SIG_INFO* sig, CORINFO_CLASS_STRUCT_* memberParent)
        {
            MethodDesc method = HandleToObject(ftn);

            Get_CORINFO_SIG_INFO(method.Signature, out *sig);
        }
Example #9
0
 private bool isInSIMDModule(IntPtr _this, CORINFO_CLASS_STRUCT_* classHnd)
 {
     // TODO: SIMD
     return false;
 }
Example #10
0
 private TypeDesc HandleToObject(CORINFO_CLASS_STRUCT_* type) { return (TypeDesc)HandleToObject((IntPtr)type); }
Example #11
0
 private CorInfoType asCorInfoType(TypeDesc type, out CORINFO_CLASS_STRUCT_* structType)
 {
     var corInfoType = asCorInfoType(type);
     structType = ((corInfoType == CorInfoType.CORINFO_TYPE_CLASS) ||
         (corInfoType == CorInfoType.CORINFO_TYPE_VALUECLASS) ||
         (corInfoType == CorInfoType.CORINFO_TYPE_BYREF)) ? ObjectToHandle(type) : null;
     return corInfoType;
 }
Example #12
0
 private CORINFO_METHOD_STRUCT_* GetDelegateCtor(IntPtr _this, CORINFO_METHOD_STRUCT_* methHnd, CORINFO_CLASS_STRUCT_* clsHnd, CORINFO_METHOD_STRUCT_* targetMethodHnd, ref DelegateCtorArgs pCtorData)
 { throw new NotImplementedException("GetDelegateCtor"); }
Example #13
0
 private uint getClassDomainID(IntPtr _this, CORINFO_CLASS_STRUCT_* cls, ref void* ppIndirection)
 { throw new NotImplementedException("getClassDomainID"); }
Example #14
0
 private bool isRIDClassDomainID(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 { throw new NotImplementedException("isRIDClassDomainID"); }
Example #15
0
 private bool canInlineTypeCheckWithObjectVTable(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 { throw new NotImplementedException("canInlineTypeCheckWithObjectVTable"); }
Example #16
0
 private bool satisfiesMethodConstraints(IntPtr _this, CORINFO_CLASS_STRUCT_* parent, CORINFO_METHOD_STRUCT_* method)
 { throw new NotImplementedException("satisfiesMethodConstraints"); }
Example #17
0
 private uint getClassAttribs(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 {
     TypeDesc type = HandleToObject(cls);
     return getClassAttribsInternal(type);
 }
Example #18
0
 private bool isCompatibleDelegate(IntPtr _this, CORINFO_CLASS_STRUCT_* objCls, CORINFO_CLASS_STRUCT_* methodParentCls, CORINFO_METHOD_STRUCT_* method, CORINFO_CLASS_STRUCT_* delegateCls, [MarshalAs(UnmanagedType.Bool)] ref bool pfIsOpenDelegate)
 { throw new NotImplementedException("isCompatibleDelegate"); }
Example #19
0
 private CORINFO_MODULE_STRUCT_* getClassModule(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 { throw new NotImplementedException("getClassModule"); }
Example #20
0
 private bool isDelegateCreationAllowed(IntPtr _this, CORINFO_CLASS_STRUCT_* delegateHnd, CORINFO_METHOD_STRUCT_* calleeHnd)
 {
     return true;
 }
Example #21
0
 private uint getClassSize(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 {
     TypeDesc type = HandleToObject(cls);
     return (uint)type.GetElementSize();
 }
Example #22
0
 private CorInfoType asCorInfoType(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 {
     var type = HandleToObject(cls);
     return asCorInfoType(type);
 }
Example #23
0
        private uint getClassGClayout(IntPtr _this, CORINFO_CLASS_STRUCT_* cls, byte* gcPtrs)
        {
            uint result = 0;

            MetadataType type = (MetadataType)HandleToObject(cls);

            Debug.Assert(type.IsValueType);

            int pointerSize = PointerSize;

            int ptrsCount = AlignmentHelper.AlignUp(type.InstanceByteCount, pointerSize) / pointerSize;

            // Assume no GC pointers at first
            for (int i = 0; i < ptrsCount; i++)
                gcPtrs[i] = (byte)CorInfoGCType.TYPE_GC_NONE;

            if (type.ContainsPointers)
            {
                result = (uint)GatherClassGCLayout(type, gcPtrs);
            }
            return result;
        }
Example #24
0
 private byte* getClassName(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 {
     var type = HandleToObject(cls);
     return (byte*)GetPin(StringToUTF8(type.ToString()));
 }
Example #25
0
        private CORINFO_FIELD_STRUCT_* getFieldInClass(IntPtr _this, CORINFO_CLASS_STRUCT_* clsHnd, int num)
        {
            TypeDesc classWithFields = HandleToObject(clsHnd);

            int iCurrentFoundField = -1;
            foreach (var field in classWithFields.GetFields())
            {
                if (field.IsStatic)
                    continue;

                ++iCurrentFoundField;
                if (iCurrentFoundField == num)
                {
                    return ObjectToHandle(field);
                }
            }

            // We could not find the field that was searched for.
            throw new InvalidOperationException();
        }
Example #26
0
 private int appendClassName(IntPtr _this, short** ppBuf, ref int pnBufLen, CORINFO_CLASS_STRUCT_* cls, [MarshalAs(UnmanagedType.Bool)]bool fNamespace, [MarshalAs(UnmanagedType.Bool)]bool fFullInst, [MarshalAs(UnmanagedType.Bool)]bool fAssembly)
 { throw new NotImplementedException("appendClassName"); }
Example #27
0
 private CorInfoHelpFunc getSharedCCtorHelper(IntPtr _this, CORINFO_CLASS_STRUCT_* clsHnd)
 { throw new NotImplementedException("getSharedCCtorHelper"); }
Example #28
0
 private bool isValueClass(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
 {
     return HandleToObject(cls).IsValueType;
 }
Example #29
0
        private CorInfoHelpFunc getUnBoxHelper(IntPtr _this, CORINFO_CLASS_STRUCT_* cls)
        {
            var type = HandleToObject(cls);

            return type.IsNullable ? CorInfoHelpFunc.CORINFO_HELP_UNBOX_NULLABLE : CorInfoHelpFunc.CORINFO_HELP_UNBOX;
        }
Example #30
0
 private CORINFO_CLASS_STRUCT_* embedClassHandle(IntPtr _this, CORINFO_CLASS_STRUCT_* handle, ref void* ppIndirection)
 { throw new NotImplementedException("embedClassHandle"); }