Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dotnet/runtime
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: mikedn/runtime
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: mjit
Choose a head ref
Loading
Showing with 151,162 additions and 241,087 deletions.
  1. +0 −55 .github/CODEOWNERS
  2. +0 −42 .github/ISSUE_TEMPLATE/01_bug_report.md
  3. +0 −66 .github/ISSUE_TEMPLATE/02_api_proposal.yml
  4. +0 −50 .github/ISSUE_TEMPLATE/03_performance_issue.md
  5. +0 −8 .github/ISSUE_TEMPLATE/04_blank_issue.md
  6. +0 −20 .github/ISSUE_TEMPLATE/config.yml
  7. +0 −54 .github/workflows/backport.yml
  8. +1 −1 src/coreclr/gcdump/gcdump.cpp
  9. +4 −3 src/coreclr/inc/corinfo.h
  10. +11 −0 src/coreclr/inc/gcinfoencoder.h
  11. +7 −2 src/coreclr/jit/CMakeLists.txt
  12. +89 −690 src/coreclr/jit/_typeinfo.h
  13. +33 −1 src/coreclr/jit/alloc.cpp
  14. +14 −5 src/coreclr/jit/alloc.h
  15. +103 −69 src/coreclr/jit/arraystack.h
  16. +2,898 −4,673 src/coreclr/jit/assertionprop.cpp
  17. +64 −132 src/coreclr/jit/bitset.cpp
  18. +39 −412 src/coreclr/jit/bitset.h
  19. +487 −626 src/coreclr/jit/bitsetasshortlong.h
  20. +1 −246 src/coreclr/jit/bitsetasuint64.h
  21. +1 −497 src/coreclr/jit/bitsetasuint64inclass.h
  22. +0 −32 src/coreclr/jit/bitsetops.h
  23. +151 −27 src/coreclr/jit/bitvec.h
  24. +195 −332 src/coreclr/jit/block.cpp
  25. +200 −303 src/coreclr/jit/block.h
  26. +1 −57 src/coreclr/jit/blockset.h
  27. +13 −13 src/coreclr/jit/clrjit.natvis
  28. +732 −1,065 src/coreclr/jit/codegen.h
  29. +2,177 −1,197 src/coreclr/jit/codegenarm.cpp
  30. +3,192 −2,987 src/coreclr/jit/codegenarm64.cpp
  31. +2,040 −2,978 src/coreclr/jit/codegenarmarch.cpp
  32. +4,413 −11,216 src/coreclr/jit/codegencommon.cpp
  33. +134 −700 src/coreclr/jit/codegeninterface.h
  34. +1,254 −2,109 src/coreclr/jit/codegenlinear.cpp
  35. +5,375 −5,127 src/coreclr/jit/codegenxarch.cpp
  36. +2,715 −6,921 src/coreclr/jit/compiler.cpp
  37. +5,053 −9,134 src/coreclr/jit/compiler.h
  38. +546 −3,661 src/coreclr/jit/compiler.hpp
  39. +0 −126 src/coreclr/jit/compilerbitsettraits.h
  40. +20 −152 src/coreclr/jit/compilerbitsettraits.hpp
  41. +13 −9 src/coreclr/jit/compmemkind.h
  42. +23 −21 src/coreclr/jit/compphases.h
  43. +253 −398 src/coreclr/jit/copyprop.cpp
  44. +0 −2 src/coreclr/jit/cpp.hint
  45. +15 −35 src/coreclr/jit/dataflow.h
  46. +310 −482 src/coreclr/jit/decomposelongs.cpp
  47. +8 −9 src/coreclr/jit/decomposelongs.h
  48. +22 −105 src/coreclr/jit/disasm.cpp
  49. +33 −49 src/coreclr/jit/disasm.h
  50. +1 −11 src/coreclr/jit/dllmain.cpp
  51. +423 −752 src/coreclr/jit/earlyprop.cpp
  52. +701 −771 src/coreclr/jit/ee_il_dll.cpp
  53. +56 −109 src/coreclr/jit/ee_il_dll.hpp
  54. +0 −249 src/coreclr/jit/eeinterface.cpp
  55. +2,696 −8,046 src/coreclr/jit/emit.cpp
  56. +1,370 −2,517 src/coreclr/jit/emit.h
  57. +2,818 −4,704 src/coreclr/jit/emitarm.cpp
  58. +88 −377 src/coreclr/jit/emitarm.h
  59. +6,507 −9,251 src/coreclr/jit/emitarm64.cpp
  60. +98 −957 src/coreclr/jit/emitarm64.h
  61. +0 −19 src/coreclr/jit/emitdef.h
  62. +79 −138 src/coreclr/jit/emitfmtsarm.h
  63. +117 −194 src/coreclr/jit/emitfmtsarm64.h
  64. +88 −150 src/coreclr/jit/emitfmtsxarch.h
  65. +0 −487 src/coreclr/jit/emitinl.h
  66. +41 −50 src/coreclr/jit/emitjmps.h
  67. +0 −158 src/coreclr/jit/emitpub.h
  68. +6,249 −12,747 src/coreclr/jit/emitxarch.cpp
  69. +215 −566 src/coreclr/jit/emitxarch.h
  70. +66 −181 src/coreclr/jit/error.cpp
  71. +12 −47 src/coreclr/jit/error.h
  72. +974 −1,674 src/coreclr/jit/fgbasic.cpp
  73. +257 −706 src/coreclr/jit/fgdiagnostic.cpp
  74. +14 −57 src/coreclr/jit/fgehopt.cpp
  75. +71 −62 src/coreclr/jit/fgflow.cpp
  76. +2,221 −1,470 src/coreclr/jit/fginline.cpp
  77. +343 −614 src/coreclr/jit/fgopt.cpp
  78. +73 −81 src/coreclr/jit/fgprofile.cpp
  79. +22 −144 src/coreclr/jit/fgstmt.cpp
  80. +804 −2,696 src/coreclr/jit/flowgraph.cpp
  81. +2,456 −2,629 src/coreclr/jit/gcencode.cpp
  82. +1,239 −607 src/coreclr/jit/gcinfo.cpp
  83. +8,936 −15,627 src/coreclr/jit/gentree.cpp
  84. +4,568 −4,507 src/coreclr/jit/gentree.h
  85. +291 −341 src/coreclr/jit/gschecks.cpp
  86. +184 −217 src/coreclr/jit/gtlist.h
  87. +50 −48 src/coreclr/jit/gtstructs.h
  88. +13 −35 src/coreclr/jit/hashbv.cpp
  89. +44 −39 src/coreclr/jit/hashbv.h
  90. +2 −23 src/coreclr/jit/host.h
  91. +366 −673 src/coreclr/jit/hwintrinsic.cpp
  92. +84 −81 src/coreclr/jit/hwintrinsic.h
  93. +105 −141 src/coreclr/jit/hwintrinsicarm64.cpp
  94. +394 −613 src/coreclr/jit/hwintrinsiccodegenarm64.cpp
  95. +522 −1,017 src/coreclr/jit/hwintrinsiccodegenxarch.cpp
  96. +8 −7 src/coreclr/jit/hwintrinsiclistarm64.h
  97. +10 −12 src/coreclr/jit/hwintrinsiclistxarch.h
  98. +250 −708 src/coreclr/jit/hwintrinsicxarch.cpp
  99. +10,638 −15,213 src/coreclr/jit/importer.cpp
  100. +350 −648 src/coreclr/jit/indirectcalltransformer.cpp
  101. +130 −137 src/coreclr/jit/inline.cpp
  102. +122 −72 src/coreclr/jit/inline.h
  103. +15 −24 src/coreclr/jit/inlinepolicy.cpp
  104. +1 −1 src/coreclr/jit/inlinepolicy.h
  105. +0 −2,507 src/coreclr/jit/instr.cpp
  106. +237 −192 src/coreclr/jit/instr.h
  107. +0 −10 src/coreclr/jit/instrs.h
  108. +27 −69 src/coreclr/jit/instrsarm.h
  109. +18 −51 src/coreclr/jit/instrsarm64.h
  110. +660 −775 src/coreclr/jit/instrsxarch.h
  111. +51 −336 src/coreclr/jit/jit.h
  112. +6 −3 src/coreclr/jit/jitconfig.cpp
  113. +15 −9 src/coreclr/jit/jitconfig.h
  114. +17 −41 src/coreclr/jit/jitconfigvalues.h
  115. +60 −196 src/coreclr/jit/jiteh.cpp
  116. +110 −330 src/coreclr/jit/jitexpandarray.h
  117. +254 −377 src/coreclr/jit/jitgcinfo.h
  118. +386 −137 src/coreclr/jit/jithashtable.h
  119. +0 −13 src/coreclr/jit/jitpch.h
  120. +0 −5 src/coreclr/jit/jitstd.h
  121. +44 −0 src/coreclr/jit/jitstd/algorithm.h
  122. +1 −1 src/coreclr/jit/jitstd/allocator.h
  123. +3 −13 src/coreclr/jit/jitstd/list.h
  124. +7 −6 src/coreclr/jit/jitstd/new.h
  125. +104 −0 src/coreclr/jit/jitstd/utility.h
  126. +35 −9 src/coreclr/jit/jitstd/vector.h
  127. +0 −383 src/coreclr/jit/jittelemetry.cpp
  128. +0 −75 src/coreclr/jit/jittelemetry.h
  129. +935 −54 src/coreclr/jit/layout.cpp
  130. +209 −29 src/coreclr/jit/layout.h
  131. +3,110 −803 src/coreclr/jit/lclmorph.cpp
  132. +4,306 −6,879 src/coreclr/jit/lclvars.cpp
  133. +202 −135 src/coreclr/jit/lir.cpp
  134. +32 −16 src/coreclr/jit/lir.h
  135. +786 −2,092 src/coreclr/jit/liveness.cpp
  136. +965 −1,730 src/coreclr/jit/loopcloning.cpp
  137. +0 −761 src/coreclr/jit/loopcloning.h
  138. +0 −13 src/coreclr/jit/loopcloningopts.h
  139. +2,740 −3,823 src/coreclr/jit/lower.cpp
  140. +201 −476 src/coreclr/jit/lower.h
  141. +1,687 −0 src/coreclr/jit/lowerarm64.cpp
  142. +642 −1,295 src/coreclr/jit/lowerarmarch.cpp
  143. +2,823 −4,207 src/coreclr/jit/lowerxarch.cpp
  144. +921 −1,783 src/coreclr/jit/lsra.cpp
  145. +333 −629 src/coreclr/jit/lsra.h
  146. +284 −654 src/coreclr/jit/lsraarm.cpp
  147. +419 −856 src/coreclr/jit/lsraarm64.cpp
  148. +384 −549 src/coreclr/jit/lsraarmarch.cpp
  149. +1,154 −2,103 src/coreclr/jit/lsrabuild.cpp
  150. +1,227 −1,939 src/coreclr/jit/lsraxarch.cpp
  151. +10,922 −14,537 src/coreclr/jit/morph.cpp
  152. +1,479 −0 src/coreclr/jit/morphassertionprop.cpp
  153. +0 −1,555 src/coreclr/jit/morphblock.cpp
  154. +25 −0 src/coreclr/jit/namedintrinsiclist.h
  155. +379 −374 src/coreclr/jit/objectalloc.cpp
  156. +0 −193 src/coreclr/jit/objectalloc.h
  157. +5 −20 src/coreclr/jit/opcode.h
  158. +1,824 −3,104 src/coreclr/jit/optcse.cpp
  159. +1,601 −4,579 src/coreclr/jit/optimizer.cpp
  160. +1,373 −0 src/coreclr/jit/optloophoist.cpp
  161. +22 −22 src/coreclr/jit/patchpoint.cpp
  162. +101 −123 src/coreclr/jit/phase.cpp
  163. +100 −85 src/coreclr/jit/phase.h
  164. +892 −1,113 src/coreclr/jit/rangecheck.cpp
  165. +0 −544 src/coreclr/jit/rangecheck.h
  166. +232 −691 src/coreclr/jit/rationalize.cpp
  167. +0 −69 src/coreclr/jit/rationalize.h
  168. +77 −123 src/coreclr/jit/redundantbranchopts.cpp
  169. +39 −293 src/coreclr/jit/regalloc.cpp
  170. +0 −27 src/coreclr/jit/regalloc.h
  171. +74 −79 src/coreclr/jit/register.h
  172. +0 −116 src/coreclr/jit/register_arg_convention.cpp
  173. +106 −86 src/coreclr/jit/register_arg_convention.h
  174. +59 −68 src/coreclr/jit/registerarm.h
  175. +82 −95 src/coreclr/jit/registerarm64.h
  176. +0 −15 src/coreclr/jit/reglist.h
  177. +99 −1,037 src/coreclr/jit/regset.cpp
  178. +73 −182 src/coreclr/jit/regset.h
  179. +190 −1,727 src/coreclr/jit/scopeinfo.cpp
  180. +157 −286 src/coreclr/jit/sideeffects.cpp
  181. +63 −90 src/coreclr/jit/sideeffects.h
  182. +0 −2,424 src/coreclr/jit/simd.cpp
  183. +0 −81 src/coreclr/jit/simd.h
  184. +3,200 −1,566 src/coreclr/jit/simdashwintrinsic.cpp
  185. +0 −136 src/coreclr/jit/simdashwintrinsic.h
  186. +134 −121 src/coreclr/jit/simdashwintrinsiclistarm64.h
  187. +183 −165 src/coreclr/jit/simdashwintrinsiclistxarch.h
  188. +0 −1,991 src/coreclr/jit/simdcodegenxarch.cpp
  189. +0 −113 src/coreclr/jit/simdintrinsiclist.h
  190. +1 −0 src/coreclr/jit/sm.cpp
  191. +2 −0 src/coreclr/jit/smdata.cpp
  192. +1 −0 src/coreclr/jit/smweights.cpp
  193. +1,218 −1,097 src/coreclr/jit/ssabuilder.cpp
  194. +212 −89 src/coreclr/jit/ssabuilder.h
  195. +0 −24 src/coreclr/jit/ssaconfig.h
  196. +0 −156 src/coreclr/jit/ssarenamestate.cpp
  197. +40 −95 src/coreclr/jit/ssarenamestate.h
  198. +104 −222 src/coreclr/jit/stacklevelsetter.cpp
  199. +0 −42 src/coreclr/jit/stacklevelsetter.h
  200. +98 −352 src/coreclr/jit/target.h
  201. +64 −22 src/coreclr/jit/targetamd64.cpp
  202. +15 −40 src/coreclr/jit/targetamd64.h
  203. +33 −16 src/coreclr/jit/targetarm.cpp
  204. +20 −42 src/coreclr/jit/targetarm.h
  205. +84 −15 src/coreclr/jit/targetarm64.cpp
  206. +17 −42 src/coreclr/jit/targetarm64.h
  207. +49 −13 src/coreclr/jit/targetx86.cpp
  208. +29 −26 src/coreclr/jit/targetx86.h
  209. +0 −76 src/coreclr/jit/tinyarray.h
  210. +0 −12 src/coreclr/jit/titypes.h
  211. +972 −379 src/coreclr/jit/treelifeupdater.cpp
  212. +334 −18 src/coreclr/jit/treelifeupdater.h
  213. +204 −287 src/coreclr/jit/typeinfo.cpp
  214. +42 −55 src/coreclr/jit/typelist.h
  215. +196 −287 src/coreclr/jit/unwind.cpp
  216. +284 −655 src/coreclr/jit/unwind.h
  217. +403 −664 src/coreclr/jit/unwindamd64.cpp
  218. +935 −1,339 src/coreclr/jit/unwindarm.cpp
  219. +333 −487 src/coreclr/jit/unwindarm64.cpp
  220. +48 −194 src/coreclr/jit/unwindx86.cpp
  221. +123 −457 src/coreclr/jit/utils.cpp
  222. +53 −89 src/coreclr/jit/utils.h
  223. +5,565 −7,742 src/coreclr/jit/valuenum.cpp
  224. +693 −1,082 src/coreclr/jit/valuenum.h
  225. +22 −23 src/coreclr/jit/valuenumfuncs.h
  226. +35 −20 src/coreclr/jit/valuenumtype.h
  227. +0 −170 src/coreclr/jit/varset.h
  228. +195 −94 src/coreclr/jit/vartype.h
  229. +11 −12 src/coreclr/jit/vartypesdef.h
  230. +1 −1 src/coreclr/tools/Common/JitInterface/SystemVStructClassificator.cs
  231. +0 −1 src/coreclr/tools/aot/ILCompiler.ReadyToRun/CodeGen/ReadyToRunObjectWriter.cs
  232. +0 −4 src/coreclr/tools/aot/ILCompiler.ReadyToRun/ObjectWriter/MapFileBuilder.cs
  233. +0 −2 src/coreclr/tools/aot/ILCompiler.ReadyToRun/ObjectWriter/ProfileFileBuilder.cs
  234. +0 −3 src/coreclr/tools/aot/ILCompiler.ReadyToRun/ObjectWriter/SymbolFileBuilder.cs
  235. +0 −4 src/coreclr/vm/class.cpp
  236. +6 −80 src/coreclr/vm/jitinterface.cpp
  237. +10 −7 src/coreclr/zap/zapimage.cpp
  238. +2 −24 src/coreclr/zap/zapper.cpp
  239. +0 −28 src/libraries/System.Private.CoreLib/src/System/BitConverter.cs
55 changes: 0 additions & 55 deletions .github/CODEOWNERS

This file was deleted.

42 changes: 0 additions & 42 deletions .github/ISSUE_TEMPLATE/01_bug_report.md

This file was deleted.

66 changes: 0 additions & 66 deletions .github/ISSUE_TEMPLATE/02_api_proposal.yml

This file was deleted.

50 changes: 0 additions & 50 deletions .github/ISSUE_TEMPLATE/03_performance_issue.md

This file was deleted.

8 changes: 0 additions & 8 deletions .github/ISSUE_TEMPLATE/04_blank_issue.md

This file was deleted.

20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/config.yml

This file was deleted.

54 changes: 0 additions & 54 deletions .github/workflows/backport.yml

This file was deleted.

2 changes: 1 addition & 1 deletion src/coreclr/gcdump/gcdump.cpp
Original file line number Diff line number Diff line change
@@ -48,7 +48,7 @@ PTR_CBYTE GCDump::DumpEncoding(PTR_CBYTE gcInfoBlock, size_t cDumpBytes)
count > 0;
count--, pCurPos++, cBytesLeft--)
{
if (cBytesLeft > 0)
if (cBytesLeft > 0 && cBytesLeft <= cDumpBytes)
{
if (cBytesLeft > 1 && count == 1)
gcPrintf("...");
7 changes: 4 additions & 3 deletions src/coreclr/inc/corinfo.h
Original file line number Diff line number Diff line change
@@ -452,7 +452,7 @@ enum CorInfoHelpFunc
/* Accessing fields */

// For COM object support (using COM get/set routines to update object)
// and EnC and cross-context support
// and cross-context support. NOT used.
CORINFO_HELP_GETFIELD8,
CORINFO_HELP_SETFIELD8,
CORINFO_HELP_GETFIELD16,
@@ -470,6 +470,7 @@ enum CorInfoHelpFunc
CORINFO_HELP_GETFIELDDOUBLE,
CORINFO_HELP_SETFIELDDOUBLE,

// For EnC field access
CORINFO_HELP_GETFIELDADDR,

CORINFO_HELP_GETSTATICFIELDADDR_CONTEXT, // Helper for context-static fields
@@ -1659,14 +1660,14 @@ enum CORINFO_FIELD_ACCESSOR
{
CORINFO_FIELD_INSTANCE, // regular instance field at given offset from this-ptr
CORINFO_FIELD_INSTANCE_WITH_BASE, // instance field with base offset (used by Ready-to-Run)
CORINFO_FIELD_INSTANCE_HELPER, // instance field accessed using helper (arguments are this, FieldDesc * and the value)
CORINFO_FIELD_INSTANCE_HELPER, // instance field accessed using helper (arguments are this, FieldDesc * and the value). NOT used.
CORINFO_FIELD_INSTANCE_ADDR_HELPER, // instance field accessed using address-of helper (arguments are this and FieldDesc *)

CORINFO_FIELD_STATIC_ADDRESS, // field at given address
CORINFO_FIELD_STATIC_RVA_ADDRESS, // RVA field at given address
CORINFO_FIELD_STATIC_SHARED_STATIC_HELPER, // static field accessed using the "shared static" helper (arguments are ModuleID + ClassID)
CORINFO_FIELD_STATIC_GENERICS_STATIC_HELPER, // static field access using the "generic static" helper (argument is MethodTable *)
CORINFO_FIELD_STATIC_ADDR_HELPER, // static field accessed using address-of helper (argument is FieldDesc *)
CORINFO_FIELD_STATIC_ADDR_HELPER, // static field accessed using address-of helper (argument is FieldDesc *). NOT used.
CORINFO_FIELD_STATIC_TLS, // unmanaged TLS access
CORINFO_FIELD_STATIC_READYTORUN_HELPER, // static field access using a runtime lookup helper

11 changes: 11 additions & 0 deletions src/coreclr/inc/gcinfoencoder.h
Original file line number Diff line number Diff line change
@@ -385,6 +385,17 @@ class GcInfoEncoder
GcSlotId GetRegisterSlotId( UINT32 regNum, GcSlotFlags flags );
GcSlotId GetStackSlotId( INT32 spOffset, GcSlotFlags flags, GcStackSlotBase spBase = GC_CALLER_SP_REL );

GcSlotDesc& GetSlotDesc(GcSlotId slotId) const
{
_ASSERTE(slotId < m_NumSlots);
return m_SlotTable[slotId];
}

UINT32 GetSlotCount() const
{
return m_NumSlots;
}

//
// After a FinalizeSlotIds is called, no more slot definitions can be made.
// FinalizeSlotIds must be called once and only once before calling Build()
Loading