diff options
author | Fadi Hanna <fadim@microsoft.com> | 2018-03-02 21:55:13 +0300 |
---|---|---|
committer | Fadi Hanna <fadim@microsoft.com> | 2018-03-02 21:55:13 +0300 |
commit | f65acd118e398531c49086f46a7d89494a086547 (patch) | |
tree | 769e50f72d6bf7544524c4f55350679a569562d2 /src/System.Private.Jit | |
parent | 87e4f1151a4be22ac6cbecf373a5dd31e42537f8 (diff) |
Sealed VTables implementation for CoreRT/ProjectX (tested on both). Changes include:
1) New node type for the sealed vtables
2) Logic in EETypeNode to emit the proper sealed vtable related bits, and not emit sealed newslot methods in the regular vtable
3) Changes in the algorithm that computes the virtual method slot to handle sealed vtable entries
4) Avoid creation of interface dispatch maps for special array types (mdarrays and arrays of pointers)
Current size gains we get with the shared library is about 3% for amd64 ret on ProjectX. Average app size reduction is about 5%
[tfs-changeset: 1690448]
Diffstat (limited to 'src/System.Private.Jit')
-rw-r--r-- | src/System.Private.Jit/src/Internal/Runtime/JitSupport/VirtualMethodSlotHelper.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/System.Private.Jit/src/Internal/Runtime/JitSupport/VirtualMethodSlotHelper.cs b/src/System.Private.Jit/src/Internal/Runtime/JitSupport/VirtualMethodSlotHelper.cs index 10e3466bd..ab82c2d6f 100644 --- a/src/System.Private.Jit/src/Internal/Runtime/JitSupport/VirtualMethodSlotHelper.cs +++ b/src/System.Private.Jit/src/Internal/Runtime/JitSupport/VirtualMethodSlotHelper.cs @@ -23,7 +23,7 @@ namespace ILCompiler /// Given a virtual method decl, return its VTable slot if the method is used on its containing type. /// Return -1 if the virtual method is not used. /// </summary> - public static int GetVirtualMethodSlot(NodeFactory factory, MethodDesc method) + public static int GetVirtualMethodSlot(NodeFactory factory, MethodDesc method, TypeDesc implType) { Debug.Assert(method.IsVirtual); |