summaryrefslogtreecommitdiff
path: root/src/vm/zapsig.cpp
AgeCommit message (Collapse)AuthorFilesLines
2019-04-01Enable R2R compilation/inlining of PInvoke stubs where no marshalling is ↵Fadi Hanna1-8/+20
required (#22560) * These changes enable the inlining of some PInvokes that do not require any marshalling. With inlined pinvokes, R2R performance should become slightly better, since we'll avoid jitting some of the pinvoke IL stubs that we jit today for S.P.CoreLib. Performance gains not yet measured. * Added JIT_PInvokeBegin/End helpers for all architectures. Linux stubs not yet implemented * Add INLINE_GETTHREAD for arm/arm64 * Set CORJIT_FLAG_USE_PINVOKE_HELPERS jit flag for ReadyToRun compilations * Updating R2RDump tool to handle pinvokes
2019-01-23Remove all traces of FEATURE_STACK_PROBE. (#22149)Filip Navara1-1/+0
2019-01-14Large version bubble Support (#21727)Andon Andonov1-6/+19
* Preliminary Changes * Module Index Resolution * Change infoModule encoding * Change referencing module in R2R * Pre-condition Check * Virtual Method Module Resolution * Remove Workarounds and add conditional import loading * Add signature kind module override * Add ELEMENT_TYPE_MODULE_ZAPSIG * Add switch to enable large version bubble * Cleanup * Change Native header check * Add large version bubble test * Add Large Version Bubble Checks * Cleanup * Revert unnecessary check * Change EncodeMethod Version Bubble Condition * Add Large Version Bubble asserts * Cleanup * Add default argument to runtests.py * Change test PreCommands * Revert whitespace changes * Change breaking conditional check * Streamline Version Bubble test * Address PR Feedback * Address PR Feedback #2 * Remove dead code * Add crossgen-time ifdef
2018-11-20Delete CORCOMPILE_IMPORT_TABLE_ENTRY (#21109)Jan Kotas1-26/+18
2018-08-11Make RuntimeType sealed and deleted support for introspection only loads ↵Jan Kotas1-2/+1
(#19427) - Sealed Runtime makes `is RuntimeType` and similar checks faster. These checks are fairly common in reflection. - Delete support for introspection only loads from the runtime. We do not plan to use in .NET Core. The support for introspection loads inherited from RuntimeType and thus it is incompatible with sealed RuntimeType.
2016-08-04Merge pull request #6608 from dotnet-bot/from-tfsAditya Mandaleeka1-1/+7
Merge changes from TFS
2016-08-04Adding support to the following generic dictionary entry slots for R2R: (#6291)Fadi Hanna1-2/+10
DeclaringTypeHandleSlot ConstrainedMethodEntrySlot
2016-08-04Fix contract violation (violation caused by a copy/paste bug in PR 6200Fadi Hanna1-1/+7
[tfs-changeset: 1620960]
2016-08-03Adding Support for FieldDescSlot generic dictionary entries for R2R generic ↵Fadi Hanna1-14/+34
code. (#6200) This enables generic code with ldtoken instructions for fields on generic types to be compiled into R2R. This change makes newer versions of the runtime compatible with older version R2R images, but not vice-versa. Therefore, the major version is increased to 2 with this change. This change adds more encodings to a R2R image without changing the format of any previously encoded entity, and is backwards compatible.
2016-05-19Implementation of the following generic dictionary entries for R2R: (#5079)Fadi Hanna1-17/+57
MethodDescSlot MethodEntrySlot DispatchStubAddrSlot
2016-05-13Initial implementation of generic dictionary access for R2R. (#4519)Fadi Hanna1-8/+8
For now, only TypeHandle dictionary entry slots are supported and encoded in a R2R version resilient format (the rest to come soon). Support is only limited for x64 Windows platforms (rest is still TODO) The basic idea: each dictionary access is initally a call to a DynamicHelper R2R cell that computes the dictionary signature, and patches the R2R cell address with an assembly stub that performs the dictionary lookup.
2016-04-30Support generic methods without generic dictionaryJohn Chen (CLR)1-1/+34
2016-03-09Delete dead codeJan Kotas1-25/+1
- Delete BINDER, STANDALONE_BINDER and MDIL ifdefs
2016-01-27Update license headersdotnet-bot1-4/+3
2015-05-20ReadyToRun bugfixesJan Kotas1-1/+9
Fix bugs found by desktop tests [tfs-changeset: 1474260]
2015-03-26Fix about 12 kinds of warnings over the codebaseJan Vorlicek1-2/+2
This change fixes: 1) Member initiazalization order in class constructor didn't correspond to the member order in some classes 2) Objects with vtables were copied via memcpy. While this is intentional, cast of the pointers to void* is required to silence clang warning 3) Switch case statements containing values of different enums 4) Casting int to pointer 5) Missing return value in methods with _ASSERTE 6) Class name classifier on methods in the .h 7) Invalid position of the DECLSPEC_ALIGN at few places - it had no effect 8) Invalid position of the 'used' attribute 9) Issue with comparing holders to NULL 10) Operator 'new' returning NULL without being marked with throw() or noexcept 11) Variables marked as 'extern' at the declaration / initialization place 12) Data structure declared as struct at one place and forward declared as class at another Some disabled warnings were no longer happening, so options to disable them were removed too
2015-03-17Fix some of the issues found by Viva64 static analyserJan Kotas1-1/+1
2015-01-30Initial commit to populate CoreCLR repo dotnet-bot1-0/+1431
[tfs-changeset: 1407945]