diff options
author | Jan Kotas <jkotas@microsoft.com> | 2015-11-17 11:45:38 +0300 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2015-11-18 10:48:21 +0300 |
commit | 684a0cfa8d744e481809d7e0150bb2465f63fcc6 (patch) | |
tree | 7d0a0c7b133ff6098f24e05e23f22aacfb62ef00 /src/JitInterface | |
parent | 7b54577a96257fc1a99cc435bd3fac84e981a724 (diff) |
Fix a few JITInterface TODOs
Diffstat (limited to 'src/JitInterface')
-rw-r--r-- | src/JitInterface/src/CorInfoImpl.cs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/JitInterface/src/CorInfoImpl.cs b/src/JitInterface/src/CorInfoImpl.cs index e19c034c6..1a2900b73 100644 --- a/src/JitInterface/src/CorInfoImpl.cs +++ b/src/JitInterface/src/CorInfoImpl.cs @@ -455,8 +455,8 @@ namespace Internal.JitInterface [return: MarshalAs(UnmanagedType.I1)] bool canTailCall(IntPtr _this, CORINFO_METHOD_STRUCT_* callerHnd, CORINFO_METHOD_STRUCT_* declaredCalleeHnd, CORINFO_METHOD_STRUCT_* exactCalleeHnd, [MarshalAs(UnmanagedType.I1)]bool fIsTailPrefix) { - // TODO: tail call - return false; + // No restrictions on tailcalls + return true; } void reportTailCallDecision(IntPtr _this, CORINFO_METHOD_STRUCT_* callerHnd, CORINFO_METHOD_STRUCT_* calleeHnd, [MarshalAs(UnmanagedType.I1)]bool fIsTailPrefix, CorInfoTailCall tailCallResult, byte* reason) @@ -1318,9 +1318,8 @@ namespace Internal.JitInterface } else { - TypeDesc type = methodSig[index]; - - // TODO: Pinning + LocalVariableDefinition[] locals = (LocalVariableDefinition[])sigObj; + TypeDesc type = locals[index].Type; return ObjectToHandle(type); } } @@ -2064,9 +2063,12 @@ namespace Internal.JitInterface ushort getRelocTypeHint(IntPtr _this, void* target) { - // TODO: Hint to use REL32 - return 0xFFFF; + if (_compilation.TypeSystemContext.Target.Architecture == TargetArchitecture.X64) + return (ushort)ILCompiler.DependencyAnalysis.RelocType.IMAGE_REL_BASED_REL32; + + return UInt16.MaxValue; } + void getModuleNativeEntryPointRange(IntPtr _this, ref void* pStart, ref void* pEnd) { throw new NotImplementedException("getModuleNativeEntryPointRange"); } |