Exemple #1
0
 public void Remove(ref CORJIT_FLAGS other)
 {
     _corJitFlags &= ~other._corJitFlags;
 }
Exemple #2
0
        private uint getJitFlags(ref CORJIT_FLAGS flags, uint sizeInBytes)
        {
            flags.corJitFlags = 
                CorJitFlag.CORJIT_FLG_SKIP_VERIFICATION |
                CorJitFlag.CORJIT_FLG_READYTORUN |
                CorJitFlag.CORJIT_FLG_RELOC |
                CorJitFlag.CORJIT_FLG_DEBUG_INFO |
                CorJitFlag.CORJIT_FLG_PREJIT;

            flags.corJitFlags2 = CorJitFlag2.CORJIT_FLG2_USE_PINVOKE_HELPERS;

            if (this.MethodBeingCompiled.IsNativeCallable)
                flags.corJitFlags2 |= CorJitFlag2.CORJIT_FLG2_REVERSE_PINVOKE;

            return (uint)sizeof(CORJIT_FLAGS);
        }
Exemple #3
0
 public void Add(ref CORJIT_FLAGS other)
 {
     _corJitFlags |= other._corJitFlags;
 }
Exemple #4
0
        public virtual uint getJitFlags_wrapper(IntPtr _this, out IntPtr exception, ref CORJIT_FLAGS flags, uint sizeInBytes)
        {
            exception = IntPtr.Zero;
            try
            {
                return getJitFlags(ref flags, sizeInBytes);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (uint)0;
        }
Exemple #5
0
        private uint getJitFlags(ref CORJIT_FLAGS flags, uint sizeInBytes)
        {
            flags.corJitFlags = 
                CorJitFlag.CORJIT_FLG_SKIP_VERIFICATION |
                CorJitFlag.CORJIT_FLG_READYTORUN |
                CorJitFlag.CORJIT_FLG_RELOC |
                CorJitFlag.CORJIT_FLG_DEBUG_INFO |
                CorJitFlag.CORJIT_FLG_PREJIT;

            if (_compilation.Options.TargetOS != TargetOS.Windows)
            {
                flags.corJitFlags |= CorJitFlag.CORJIT_FLG_CFI_UNWIND;
            }

            flags.corJitFlags2 = 0;

            return (uint)sizeof(CORJIT_FLAGS);
        }
Exemple #6
0
 static uint _getJitFlags(IntPtr thisHandle, IntPtr* ppException, ref CORJIT_FLAGS flags, uint sizeInBytes)
 {
     var _this = GetThis(thisHandle);
     try
     {
         return _this.getJitFlags(ref flags, sizeInBytes);
     }
     catch (Exception ex)
     {
         *ppException = _this.AllocException(ex);
         return default(uint);
     }
 }
Exemple #7
0
        private uint getJitFlags(ref CORJIT_FLAGS flags, uint sizeInBytes)
        {
            flags.Set(CorJitFlag.CORJIT_FLAG_SKIP_VERIFICATION);
            flags.Set(CorJitFlag.CORJIT_FLAG_READYTORUN);
            flags.Set(CorJitFlag.CORJIT_FLAG_RELOC);
            flags.Set(CorJitFlag.CORJIT_FLAG_DEBUG_INFO);
            flags.Set(CorJitFlag.CORJIT_FLAG_PREJIT);
            flags.Set(CorJitFlag.CORJIT_FLAG_USE_PINVOKE_HELPERS);

            if (this.MethodBeingCompiled.IsNativeCallable)
                flags.Set(CorJitFlag.CORJIT_FLAG_REVERSE_PINVOKE);

            if (this.MethodBeingCompiled.IsPInvoke)
                flags.Set(CorJitFlag.CORJIT_FLAG_IL_STUB);

            return (uint)sizeof(CORJIT_FLAGS);
        }