1. 16 4月, 2021 18 次提交
    • M
      Remove unnecessary realpath calls from host probing logic (#50671) · fa49dbc3
      Mateo Torres-Ruiz 提交于
      * Skip test on windows
      
      * Delay file existence check
      
      * Check file existence if there are additional probbing paths
      
      * PR feedback
      
      * Add needs_file_existence_checks
      
      * Clean symlinks causing CI problems with stat
      
      * Switch back to libc
      
      * Ignore symlink deletion in osx
      fa49dbc3
    • B
      a551a99e
    • J
      e837eda6
    • C
      FileStream rewrite: Use IValueTaskSource instead of TaskCompletionSource (#50802) · a38d0c27
      Carlos Sanchez 提交于
      * Remove IFileStreamCompletionStrategy. This makes FileStreamCompletionSource only needed by Net5CompatFileStreamStrategy.
      
      * Use AwaitableProvider for AsyncWindowsFileStreamStrategy.
      
      * No need for ManualResetValueTaskSource class. Remove it to get rid of one allocation and get the actual profiling improvement.
      Rename FileStreamAwaitableProvider.
      
      * Bring back ReadAsync/WriteAsync code to the strategy for simpler code review. Shorter filename for awaitable provider.
      
      * FileStreamCompletionSource can now be nested in Net5CompatFileStreamStrategy, and its _fileHandle can now be private.
      
      * Remove duplicate error definitions, use centralized Interop.Errors.
      
      * Move shared mask values to FileStreamHelpers to avoid duplication.
      
      * Use Interop.Errors also in SyncWindowsFileStreamStrategy.
      
      * Move misplaced comment, move method location.
      
      * Slightly better comment.
      
      * Rename FileStreamAwaitableProvider to FileStreamValueTaskSource to keep in sync with the name of FileStreamCompletionSource.
      
      * Bring back the raw pointer intOverlapped.
      
      * Rename MemoryAwaitableProvider to MemoryFileStreamValueTaskSource.
      
      * Remove numBufferedBytes and avoid unnecessary allocation in Read(byte[],int,int).
      
      * Rename files of nested types.
      
      * Nested async result codes in static class.
      
      * Address feedback.
      
      * Address suggestions
      
      * Bring back RunContinuationAsynchronously=true
      Co-authored-by: Ncarlossanlop <carlossanlop@users.noreply.github.com>
      a38d0c27
    • M
      Add MachO dump writer to createdump (#51150) · 79ad10cf
      Mike McLaughlin 提交于
      * Add MachO dump writer to createdump
      
      Instead of the hacky ELF core dumps on MacOS now createdump generates true MachO dumps.
      
      Setting the COMPlus_DbgEnableElfDumpOnMacOS environment variable is no longer needed.
      
      Add special thread info memory region containing the OS thread ids missing from macho core dumps. This allows SOS to map the thread indexes to thread ids. The address (0x7fffffff00000000) of this special memory region is above the highest user address (0x0007FFFFFFFFF000) and below a kernel reserved address (0xffffff8000xxxxxx) which is kind of moot because dumps don't include any kernel regions. lldb seems just fine with this memory region.
      
      The changes include ARM64 support also, but since I don't have a M1 device I can't build/test them. I'm hoping Steve can at least review them.
      
      Add --verbose/TRACE_VERBOSE support to tone down all the macho dump generation spew.
      
      Issue: #48664
      
      * Fix build problem
      
      * Update docs
      
      * Code review feedback
      Co-authored-by: NJuan Sebastian Hoyos Ayala <juhoyosa@microsoft.com>
      79ad10cf
    • K
      Include condition inside assert for forward jump loops (#51164) · 56e36a04
      Kunal Pathak 提交于
      * Include condition for forward jump loops
      
      * Remove IGF_FINALLY_TARGET and surrounding code
      
      Pass DEBUG_ARG(bbnum) to `emitAddLabel()` to print the BB->IG mapping.
      
      * Revert "Remove IGF_FINALLY_TARGET and surrounding code"
      
      This reverts commit 284c0abc202cca2de22787bf18081076200e5272.
      
      * Pass bbNum to emitAddLabel
      
      * fix Release build break
      56e36a04
    • S
      Apple Silicon bundle distribution template (#51262) · c3348eb7
      Steve MacLean 提交于
      Apple Silicon requires a different distribution template
      
      Set options.hostArchitectures to stop requiring Rosetta
      
      Adjust minimum required version to 11.0
      c3348eb7
    • T
    • J
      Update Alpine ARM docker image (#51099) · cb9897b0
      Jan Vorlicek 提交于
      * Update Alpine ARM docker image
      
      The Alpine ARM docker image is used for cross compilation. There was a
      breaking change in Alpine 3.13 - it uses a new MUSL that has 64 bit
      time_t even on 32 bit platforms. Since the official support for Alpine
      ARM was not announced yet, it was decided that we will support it only
      on Alpine >= 3.13 instead of having to build and distribute two different
      versions of runtime.
      
      This change updates the docker image used to build Alpine ARM runtime to
      a new version that uses Alpine 3.13 rootfs. It is also using Ubuntu
      16.04 instead of 18.04 as a host to unify it with the one we use to
      build for Alpine ARM64.
      
      * Update helix queue for Alpine ARM to use Alpine 3.13
      cb9897b0
    • S
      Handle casts done via helpers and fold overflow operations in value numbering (#50450) · 730abc90
      SingleAccretion 提交于
      * Added a missing license header
      
      * Added a test verifying that checked arithmetic is correct
      
      * Added a test verifying that checked casts are correct
      
      * Refactored VNEvalShouldFold
      
      * Refactored gtFoldExprConst to use helpers and follow the common code style
      
      * Fixed the comment stating TYP_BYREF has no zero value
      
      * Moved checking of overflow for arithmetic operations from gtFoldExprConst into a separate namespace
      
      * Implemented folding of overflow arithmetic in value numbering
      
      * Fixed some typos in valuenum.cpp/h
      
      * Added identity-based evaluation for overflow arithmetic
      
      * Refactored gtFoldExpr some more, moved the overflow checking logic to CheckedOps, implemented overflow checking for floating point -> integer casts
      
      * Implemented folding of checked casts in value numbering, started value numbering casts via helpers like normal casts
      
      * Fixed the formatting
      
      * Made the definition of var_types a standalone header so that it can be safely #included'ed in utils.h
      
      * Replaced uses of GTF_CALL_M_SPECIAL_INTRINSIC with the equivalent helpers
      
      * Fold cast via helpers in morph
      
      * Disable the test for checked casts on Mono
      730abc90
    • A
      Improve backport command (#51306) · 2e127301
      Alexander Köplinger 提交于
      GitHub Actions started doing shallow checkouts so we often ran into the case where applying the patch would fail with an error due to the commit blobs not being available:
      
      ```
      error: sha1 information is lacking or useless (eng/pipelines/common/xplat-setup.yml).
      error: could not build fake ancestor
      ```
      
      Fix this by always checking out the whole history. Since this makes checkout quite slow (~2mins), refactor the action so we post the "Started backporting" comment before doing the checkout so the user isn't confused why nothing happens.
      2e127301
    • 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 22 次提交