1. 16 4月, 2021 7 次提交
    • D
      Fix issue with Win32 resource placement (#51291) · 6b64618b
      David Wrighton 提交于
      * Fix issue with Win32 resource placement
      
      Windows has a bug in its resource processing logic that occurs when
      1. A PE file is loaded as a data file
      2. The resource data found in the resources has an RVA which has a magnitude greater than the size of the section which holds the resources
      3. The offset of the start of the resource data from the start of the section is not zero.
      
      As it is impossible to effect condition 1 in the compiler, and changing condition 2 would require bloating the virtual size of the sections, instead require that the resource data is located at offset 0 within its section, by sorting the Win32ResourceNode to be the first node.
      
      * Update src/coreclr/tools/aot/ILCompiler.ReadyToRun/ObjectWriter/SectionBuilder.cs
      Co-authored-by: NMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
      Co-authored-by: NMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
      6b64618b
    • T
    • W
      Modify test OOMException01 and enable test OOMException01 (#51280) · e77435ba
      ws77.cho 提交于
      * Modify TC to compare strings before ':'
      
      In order to avoid failure due to modification of #44013,
      the TC has been modified so that the content after':' is not compared.
      
      * Enable OOMException01
      
      Failed TC is fixed at #51280
      e77435ba
    • R
      [wasm] Pass configuration to samples build (#51304) · 243fd16d
      Radek Doulik 提交于
      243fd16d
    • B
      Simplify JIT label handling (#51208) · a2e36a76
      Bruce Forstall 提交于
      * Simplify JIT label handling
      
      Remove the BBF_JMP_TARGET flag that was set early and attempted
      to be maintained all through compilation. Instead, use
      BBF_USE_LABEL to indicate to the emitter where we need labels.
      
      Also, stop setting and maintaining BBF_USE_LABEL early.
      
      Add a pass over the blocks when preparing for codegen that sets
      most of the necessary BBF_USE_LABEL flags. This flag will never
      be set before codegen. A few places set the flag after codegen starts,
      namely `genCreateTempLabel` and BBJ_COND handling for alignment.
      Note that this flag must be set before the block is processed for
      codegen (and an insGroup is created).
      
      Together, these changes make it easier to work with the flow graph
      without worrying about maintaining these bits of information through
      various optimizations.
      
      Add a few more details about alignment processing to the dump.
      
      There are a few code asm diffs due to alignment processing not previously
      creating a label to help compute how large a loop is.
      
      There are a lot of textual asm diffs due to there being (mostly)
      fewer labels, plus some additional insGroup output. This can happen if
      a block was labeled with `BBF_JMP_TARGET` or `BBF_USE_LABEL` before,
      but didn't need to be, perhaps after some optimizations. Now, the flag is
      never added in the first place.
      
      There are a large number of GC info diffs. Labels are where GC info state
      changes are recorded between codegen and the emitter. If we eliminate an
      unnecessary emitter label, then we also eliminate a capture of the current
      codegen GC state. Since the emitter is lazy at marking GC deaths, this
      means that we see a lot of lengthened GC lifetimes -- until the next
      label, or some other cause of GC kill. Often, you see a register kill
      followed by register birth just disappear, and the register is maintained
      alive across the interim.
      
      * Remove loop align flag if we decide a loop is no longer a loop
      a2e36a76
    • T
      Fix for RoslynPad crash found in targeted preview testing (#51173) · 8f491fc4
      Tomáš Rylek 提交于
      I found out that the crash was caused by an incompletely handled
      corner case in generic lookup - incomplete comparison of
      GenericLookupKey matched two generic lookups which in reality
      involved two different constrained types.
      
      While fixing this I added a new variant to
      RuntimeDeterminedTypeHelpers for comparing MethodWithToken and
      I fixed null handling that was inconsistent among the individual
      type variants of the Equals and GetHashCode methods.
      
      Thanks
      
      Tomas
      8f491fc4
    • J
      Add stub definitions of inject debug resources targets to fix runtimeinfo... · 39be34f8
      Jeremy Koritzinsky 提交于
      Add stub definitions of inject debug resources targets to fix runtimeinfo build dependency issues. (#51254)
      
      39be34f8
  2. 15 4月, 2021 33 次提交