Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sfh fix tests #8

Merged
merged 339 commits into from
Jun 23, 2022
Merged

Sfh fix tests #8

merged 339 commits into from
Jun 23, 2022
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jun 13, 2022

  1. Use the signature types when building ABI info (dotnet#70635)

    * Use signature types when building the ABI info
    
    This will allow us to let "mismatched" struct types as call arguments,
    which in turn is expected to simplify and de-pessimize much of the code
    working around the need to keep precise handles on struct nodes.
    
    Credit to @jakobbotsch for being able to make this change.
    
    * Work around the "InferOpSizeAlign" problem
    
    Handling it generally requires solving a larger problem
    of "eeGetArgSizeAlignment" not working well on ARM.
    
    (See also the use of "eeGetArgSizeAlignment" in "lvaInitUserArgs")
    SingleAccretion authored Jun 13, 2022
    Configuration menu
    Copy the full SHA
    6418252 View commit details
    Browse the repository at this point in the history
  2. [wasm] Build WasmAppHost with UseAppHost=false (dotnet#70606)

    * [wasm] Build WasmAppHost with UseAppHost=false
    
    - WasmAppHost is included in the WebAssembly.Sdk pack, and doesn't have a
    platform specific package.
    - Since, this is being built for x64, the build defaults to using the
    app host, which means that we get a single binary file that can be run
    directly.
        - But this also means that the binary included in the
        WebAssembly.Sdk platform-agnostic package will target the platform
        where it was built.
    
    - Instead, build with UseAppHost=false, and update the wasm host to use
    the managed assembly instead.
    
    And update the RunCommand to use `dotnet exec WasmAppHost.dll`.
    
    * fix
    radical authored Jun 13, 2022
    Configuration menu
    Copy the full SHA
    4277bc5 View commit details
    Browse the repository at this point in the history
  3. JIT: Optimize expansion of indir cell addresses for CFG (dotnet#70491)

    On ARM64 it is expensive to materialize the address of an indirection
    cell since that requires multiple instructions. This is particular a
    problem when CFG is enabled where validation + call uses the indir cell
    twice. This changes the CFG logic to create a local in this case.
    
    We also were forcing the indir cell argument node into the register.
    This is not ideal for this particular case, so remove this logic and let
    LSRA deal with it. ARM still needs this logic.
    
    Fix dotnet#65076
    jakobbotsch authored Jun 13, 2022
    Configuration menu
    Copy the full SHA
    025b763 View commit details
    Browse the repository at this point in the history
  4. Handle mis-sized structs in XARCH PUTARG_STK codegen (dotnet#68611)

    * Handle "mis-sized" structs in XARCH PUTARG_STK codegen
    
    Previously, for structs which were not a multiple of TARGET_POINTER_SIZE
    in size:
    
    1) On x86, we copied them to a local in morph. This was a small CQ issue.
    2) On Unix x64, we didn't handle them at all and could read out of bounds
       in "genStructPutArgUnroll".
    
    This change fixes both issues by properly detecting cases where we need to
    be careful and updating codegen to use correct load sizes.
    
    * Add a test
    SingleAccretion authored Jun 13, 2022
    Configuration menu
    Copy the full SHA
    15f1e1d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    59b2dd9 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2022

  1. Configuration menu
    Copy the full SHA
    fbae62d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a344441 View commit details
    Browse the repository at this point in the history
  3. Fix SOS tests on 7.0 (dotnet#70677)

    The wcscpy_s in ClrDataAccess::GetRegisterName was failing with an invalid parameter exception because
    the prefixLen and regLen didn't include the terminating null wchar.
    mikem8361 authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    731c262 View commit details
    Browse the repository at this point in the history
  4. [wasm] Enable some previously failing WBT/AOT tests on windows (dotne…

    …t#70595)
    
    * [wasm] Enable some previously failing WBT/AOT tests on windows
    
    Fixes dotnet#61725 .
    
    * [wasm] WBT: Fix a failing satellite assembly test
    
    The test fails because it is trying to find the string `got: こんにちは`
    in the app output, but it sees `?????`. This is due to xharness not
    setting the console output to UTF8, and then the tests not doing the
    same.
    
    Instead of that, we can move the check to be in the app itself, thus
    removing the need for any of this.
    
    Fixes dotnet#58709 .
    radical authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    367193d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    20e5237 View commit details
    Browse the repository at this point in the history
  6. [mono] Remove dead code. (dotnet#70671)

    A variable initialized to false and never modified means we can remove the
    variable and any code that depends on that variable not being false.
    
    This is a consequence of 15ab9f9, where code
    that assigned the variable was removed.
    rolfbjarne authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    e5acd4d View commit details
    Browse the repository at this point in the history
  7. Avoid throwing Win32Exception from HTTP authentication (dotnet#70474)

    * Avoid throwing Win32Exception from HTTP authentication
    
    When server sends malformed NTLM challenge the NT authentication processing
    would throw an unexpected Win32Exception from HttpClientHandler.Send[Async]
    calls. This aligns the behavior to WinHTTP handler where the Unauthorized
    reply with challenge token is returned back to the client.
    
    Similarly, failure to validate the last MIC token in Negotiate scheme could
    result in Win32Exception. Handle it by throwing HttpRequestException instead.
    
    * Make the unit test more resilient
    
    * Add trace to Negotiate authentication
    
    * Dispose connection instead of draining the response
    
    * Remove outdated ActiveIssue
    filipnavara authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    3bb45af View commit details
    Browse the repository at this point in the history
  8. Fix usage of GSS_KRB5_CRED_NO_CI_FLAGS_X (dotnet#70447)

    * Fix build detection of GSS_KRB5_CRED_NO_CI_FLAGS_X
    
    * Don't use GSS_KRB5_CRED_NO_CI_FLAGS_X on NTLM
    
    * Handle GSS_S_UNAVAILABLE error from gss_set_cred_option (NTLM wrapped in Negotiate)
    
    * Make the GSSAPI shim work with krb5 1.13
    
    * Preserve the gss_acquire_cred minor status
    filipnavara authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    84f7cad View commit details
    Browse the repository at this point in the history
  9. Use IndexOf in WebUtility (dotnet#70700)

    The IndexOfHtmlDecodingChars method was iterating character by character looking for either a `&` or a surrogate, but then the slow path if one of those is found doesn't special-case surrogates.  So, we can just collapse this to a vectorized `IndexOf('&')`, which makes the fast path of detecting whether there's anything to decode much faster if there's any meaningful amount of input prior to a `&`. (I experimented with also using `IndexOf('&')` in the main routine, but it made cases with lots of entities slower, and so I'm not including that here.)
    stephentoub authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    a361f7f View commit details
    Browse the repository at this point in the history
  10. Hoist the invariants out of multi-level nested loops (dotnet#68061)

    * first working version
    
    * Skip check of VN hoisting
    
    * Account for duplicate blocks
    
    * clean up
    
    * wip
    
    * isCommaTree && hasExcep
    
    * revert lsra changes
    
    * Update hoisting condition
    
    - Only update if node to be hoisted has side-effects and the sibling that is before that throws exception
    
    * Change to BasicBlockList
    
    * organize preheaders
    
    * update hoistedInCurLoop and hoistedInSiblingLoop
    
    * Reverse the loop order
    
    * cleanup and jit-format
    
    * Revert "Minor fix to display IG01 weight correctly"
    
    This reverts commit 757120e863b2da188db2593da1b7142fd1ecf191.
    
    * simplify code
    
    * Remove m_hoistedVNInSiblingLoop
    
    * Add back ResetHoistedInCurLoop
    
    Fix igWeight
    
    * Remove reversal of loop processing order
    
    * jit format
    
    * Experimental: Also generate PerfScore:
    
    * review feedback
    
    * fix the superpmi script
    
    * Revert superpmi asmdiffs change
    
    * Rename method
    
    * Add a comment
    kunalspathak authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    4fc6287 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b85f6b3 View commit details
    Browse the repository at this point in the history
  12. Convert exception help context parsing to managed (dotnet#70251)

    * Move help link parsing to managed
    
    * Cleanup wtoi and nativeIsDigit
    
    * Fix metasig declaration
    
    * Guard GetHelpContext under FEATURE_COMINTEROP
    
    * Remove definition of GetHelpLink and guard more methods under cominterop
    
    * DWORD should be uint
    
    * Add help context marshaling test
    
    * Adjust marshaling test
    
    * Fix #ifdef with ILLink
    
    * Fix method signature mismatch
    
    * Specify string marshaling
    
    * Throwing test should not test successful HRESULT
    
    * Implement ISupportErrorInfo
    
    * Test interface in InterfaceSupportsErrorInfo
    huoyaoyuan authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    021dc5f View commit details
    Browse the repository at this point in the history
  13. Delete tests for .NET Framework Xsltc.exe tool (dotnet#70706)

    * Use regex matching for Xsltc test baseline files
    
    * Delete xsltc.exe tests entirely
    danmoseley authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    1615e78 View commit details
    Browse the repository at this point in the history
  14. Reenable C4244 in repo (dotnet#70026)

    * Reenable 4244 warning for Mono.
    
    * Enable compiler errors for gcc/clang.
    
    * Fix issues enabling -Werror=implicit-int-conversion
    
    * Revert turning on implicit-int-conversion as error.
      This check was triggering failures on parts of the PAL that
      require additional scrutiny beyond the scope of this work.
    AaronRobinsonMSFT authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    89962a5 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    8bb880d View commit details
    Browse the repository at this point in the history
  16. align GC memory load calculation on Linux with Docker and Kubernetes (d…

    …otnet#64128)
    
    * align memory load calculation in GC with Docker and Kubernetes
    
    * pass inactive file field name as a parameter
    dennis-yemelyanov authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    20cb077 View commit details
    Browse the repository at this point in the history
  17. [wasm] Fix Debug configuration builds (dotnet#70683)

    * Fix cmake error
    
       ```
       Manually-specified variables were not used by the project:
       CONFIGURATION_WASM_OPT_FLAGS
       ```
    
    * Build the interpreter with -O1 on Wasm in Debug configs
    
       Otherwise `interp_exec_method` and `generate_code` can easily overflow the stack in some browsers with even a few recursive calls (for example during .cctor initializaiton)
    lambdageek authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    3428247 View commit details
    Browse the repository at this point in the history
  18. [wasm] Make runtime_is_initialized promise callbacks one-shot (dotnet…

    …#70694)
    
    * [wasm] Make runtime_is_initialized promise callbacks one-shot
    
    Throw if runtime_is_initialized_resolve or runtime_is_initialized_reject is called more than once
    
    * Add a slightly generalized GuardedPromise<T> object
    
       Protects against multiple-resolve, multiple-reject, reject after resolve and resolve after reject.
    
      Does not protect against the executor throwing.
    lambdageek authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    fb9be0a View commit details
    Browse the repository at this point in the history
  19. Do not use ExecutableMemoryAllocator on 64 bit platforms if default b…

    …ase address usage is requested (dotnet#70563)
    gbalykov authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    261574b View commit details
    Browse the repository at this point in the history
  20. [wasm][debugger] Implement get bytes from loaded_files using debugger…

    … protocol. (dotnet#69072)
    
    * Implement get bytes from loaded_files using debugger protocol.
    
    * fix pdb size == nul
    
    * Adressing @radical comments.
    
    * Fix build.
    
    * fix compilation
    
    * Addressing @radical comments.
    
    Co-authored-by: Ankit Jain <radical@gmail.com>
    thaystg and radical authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    56e58d3 View commit details
    Browse the repository at this point in the history
  21. Add doc on Unix temporary file security practice (dotnet#70585)

    * Add doc on Unix temporary file security practice
    
    * Update unix-tmp.md
    
    * Update unix-tmp.md
    
    * Add example permissions encoding
    
    * Update docs/design/security/unix-tmp.md
    
    Co-authored-by: Dan Moseley <danmose@microsoft.com>
    
    * Update unix-tmp.md
    
    Co-authored-by: Dan Moseley <danmose@microsoft.com>
    agocke and danmoseley authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    978df67 View commit details
    Browse the repository at this point in the history
  22. ConfigurationBinder.Bind on virtual properties duplicates elements (d…

    …otnet#70592)
    
    * ConfigurationBinder.Bind on virtual properties duplicates elements
    
    * simplify GetAllProperties
    
    * return array instead of list
    pedrobsaila authored Jun 14, 2022
    Configuration menu
    Copy the full SHA
    0ca092e View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    042fdf4 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    c8654e7 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2022

  1. Fix AttributePresence in composite mode (dotnet#70737)

    According to my comparative perf measurements composite framework
    spends about 5M more instructions in the method
    
    coreclr.dll!CMiniMdTemplate<CMiniMd>::SearchTableForMultipleRows(CMiniColDef sColumn)
    
    I tracked this down to the R2R table AttributePresence which is
    used to speed up attribute queries against the ECMA metadata model.
    In composite mode we were putting the table in the image header,
    not component header, and so the runtime was unable to locate it.
    This change fixes generation of the table in Crossgen2; I have
    verified that with this change I no longer see the 5M outlier.
    
    Thanks
    
    Tomas
    trylek authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    41ce20a View commit details
    Browse the repository at this point in the history
  2. Handle mis-sized structs in ARM/64 PUTARG_SPLIT codegen (dotnet#70249)

    * Add a test
    
    * Fix out-of-bounds loads in ARM/64's "genPutArgSplit"
    
    * Split the test out
    SingleAccretion authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    6896e1b View commit details
    Browse the repository at this point in the history
  3. Refactor how implicit byrefs are morphed (dotnet#70243)

    * Refactor implicit by-refs morphing
    
    Move it to "fgMorphLocal".
    
    Enabled folding in "LocalAddressVisitor".
    
    * Add FEATURE_IMPLICIT_BYREFS
    
    And use it in all the necessary places.
    
    Resolves the TP regression on Unix x64, turning it into a TP improvement.
    
    * Add a zero-diff quirk
    SingleAccretion authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    42d76d3 View commit details
    Browse the repository at this point in the history
  4. Do not change gtRetClsHnd in impNormStructVal (dotnet#70699)

    * Do not change "gtRetClsHdl" in "impNormStructVal"
    
    Doing so leads breaking the proper ABI handling for the call.
    
    * Add a test
    SingleAccretion authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    4501e39 View commit details
    Browse the repository at this point in the history
  5. Support PUTARG_STK(STRUCT LCL_VAR/LCL_FLD) on ARM/64 (dotnet#70256)

    * Separate out LowerPutArgStk
    
    Call it from "LowerArg" instead of "ContainCheckCallOperands",
    as it does more than just containment analysis.
    
    * Support "PUTARG_STK(STRUCT LCL_VAR/LCL_FLD)" on ARM/64
    
    To test this, transform "OBJ(LCL_VAR|FLD_ADDR)" to "LCL_FLD" on lowering.
    
    This additionally simplified the codegen code as it doesn't have to support
    two representations of the same thing.
    SingleAccretion authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    010eb63 View commit details
    Browse the repository at this point in the history
  6. Support PUTARG_STK(STRUCT LCL_VAR/LCL_FLD) on x86/Unix x64 (dotnet#…

    …70702)
    
    * Add GenTree::GetLayout
    
    * x86/Unix x64: lowering
    
    * x86/Unix x64: "genConsumePutStructArgStk"
    
    * x86/Unix x64: "genStructPutArgUnroll"
    
    * x86/Unix x64: codegen asserts
    
    * x86: "genStructPutArgPush"
    
    * Unix x64: "genStructPutArgPartialRepMovs"
    SingleAccretion authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    b9d9b0e View commit details
    Browse the repository at this point in the history
  7. Allow TYP_STRUCT LCL_FLD on the RHS of block copies (dotnet#70633)

    * Delete the unused "GTF_USE_FLAGS"
    
    It used to indicate that a branch operation didn't
    need to materialize its operand and could just "use
    flags" instead, but that purpose has long been lost
    now that we have explicit SETCC nodes in lowering.
    
    * Make GTF_DONT_EXTEND a shared flag
    
    So that it can be used for "LCL_FLD" as well as "GT_IND".
    
    No diffs.
    
    * Enable TYP_STRUCT on the RHS
    
    * fgMorphBlockOperand
    
    * Tweak TYP_STRUCT LCL_FLD costs
    
    Model it as two load, like OBJ.
    
    Note we could be more precise here, by using the
    register type of the layout. For now, we defer.
    
    * Block CSE
    
    Preserve previous behavior to avoid diffs.
    SingleAccretion authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    344c792 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    eeb0c15 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1abd9a1 View commit details
    Browse the repository at this point in the history
  10. [NativeAOT] Enabling return address hijacking on ARM64 Windows (dotne…

    …t#70740)
    
    * Enabling return address hijacking on ARM64 Windows
    
    * pass right flags to the GcInfoDecoder
    VSadov authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    e30570d View commit details
    Browse the repository at this point in the history
  11. Fix value numbering of HWI loads (dotnet#70621)

    * Fix numbering of HWI loads
    
    Take into account all operands and describe the exception sets precisely.
    
    * Add a test
    
    * Recast the check
    SingleAccretion authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    cd60639 View commit details
    Browse the repository at this point in the history
  12. Small MsQuicStream refactorings (dotnet#70433)

    * Inline state transition helpers
    
    Fixes dotnet#55437
    
    * Add high level comments for HandleEventReceive and ReadAsync
    rzikm authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    702c1ea View commit details
    Browse the repository at this point in the history
  13. Updating HWIntrinsicInfo::lookupId to not accelerate Vector256 APIs w…

    …hen AVX2 is unsupported (dotnet#70686)
    
    * Updating HWIntrinsicINfo::lookupId to not accelerate Vector256 APIs when AVX2 is unsupported
    
    * Fixing a check in lookupId to properly negate the condition
    
    * Ensure the special-cased EA_32BYTE constants only happen when AVX/AVX2 are supported
    
    * Fixing a bad assert in morph
    tannergooding authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    53e52f2 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    b3e606f View commit details
    Browse the repository at this point in the history
  15. NativeAOT Unlock assignability comparison in reflection-free (dotnet#…

    …70726)
    
    * NativeAOT Unlock assignability comparison in reflection-free
    Closes dotnet#69960
    
    * Document support for `IsAssignableFrom`
    
    * Document support for `IsInstanceOfType`
    
    * Document `IsAssignableTo`
    
    * Add suggestion from Michal
    
    * Update src/coreclr/nativeaot/System.Private.DisabledReflection/src/Internal/Reflection/RuntimeTypeInfo.cs
    
    Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
    
    * Remove whitespaces
    
    Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
    kant2002 and MichalStrehovsky authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    e242424 View commit details
    Browse the repository at this point in the history
  16. [Mono] Fix C4018 round I (dotnet#70417)

    * First round of change of fixing C4018
    
    * Address part of review feedback
    
    * Change the type of idx to unsigned for `effective_table_slow`
    
    * Add idx range check after the type was changed
    
    * Address review feedback for `class-init.c`
    
    * Change the return type of `*table_num_rows*` to `guint32`. Deal with the consequence of return type change of `table_info_get_rows`. Correct the type of a few local variables which store the return of `mono_metadata_token_index`.
    
    * Update return type
    
    * Address review feedbacks of metadata.c
    
    * Fix native crash
    
    * Make counter private to for-loop
    
    * Address review feedbacks
    
    * Address review feedbacks
    fanyang-mono authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    82a7ee4 View commit details
    Browse the repository at this point in the history
  17. Fix race condition in LoaderAllocator::CompareExchangeValueInHandle (d…

    …otnet#70765)
    
    The method was not actually using interlocked operation. It made it possible for multiple different values to win.
    
    Fixes dotnet#70742
    jkotas authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    63bdb98 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    2f0a796 View commit details
    Browse the repository at this point in the history
  19. Handle HW exceptions on Windows without redirection (dotnet#70428)

    This change modifies the way hardware exceptions are propagated from the
    vectored exception handler. Until now, runtime was returning from the
    vectored exception handler with instruction pointer in the context set
    to an asm helper. That redirected the thread to that helper and we have
    raised an exception from its call chain.
    While working on CET support, it was found that propagating exceptions
    from the vectored exception handler directly works just fine. So this
    change makes it work that way for all Windows targets.
    janvorli authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    f19d85b View commit details
    Browse the repository at this point in the history
  20. Predicate for valid Tracker Reference is inverted (dotnet#70709)

    * Predicate for valid Tracker Reference is inverted
    
    * Fix test to not inline wrapper creation function.
    AaronRobinsonMSFT authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    6a2727f View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    5810b02 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    7198edb View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    06c7957 View commit details
    Browse the repository at this point in the history
  24. Enable IlcTrimMetadata by default (dotnet#70201)

    Enables more aggressive metadata stripping by default. In this mode, the AOT compiler only generates reflection metadata for artifacts that were deemed reflection-visible by either dataflow analysis, or user inputs. Previously we would consider everything that got generated reflection-visible.
    
    * Change the defaults within the compiler (making the conservative mode opt-in).
    * Add tests for scenarios in dotnet/runtimelab#656 (resolves dotnet/runtimelab#656).
    * Update tests
    * Do more marking where it was necessary
    MichalStrehovsky authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    10288c9 View commit details
    Browse the repository at this point in the history
  25. Remove GSS_KRB5_CRED_NO_CI_FLAGS_X code (dotnet#70772)

    The support for building with GSS_KRB5_CRED_NO_CI_FLAGS_X was broken for quite some time. Attempts to reenable it failed due to bug in the krb5 GSSAPI implementation resulting in invalid memory accesses.
    filipnavara authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    4c6b53b View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    1e97f7c View commit details
    Browse the repository at this point in the history
  27. Upgrade SDK to Preview 5 (dotnet#70117)

    Upgrade to released Preview 5 build
    agocke authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    4e844e6 View commit details
    Browse the repository at this point in the history
  28. Find&replace FastInterlock* with Interlocked* (dotnet#70784)

    FastInterlock* operations were #defined as aliases to regular Interlock* operations. Deleted the FastInterlock* aliases and replaced usage with Interlocked* operations.
    jkotas authored Jun 15, 2022
    Configuration menu
    Copy the full SHA
    2ce8130 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2022

  1. JIT: rework optCanonicalizeLoop (dotnet#70792)

    Rework loop canonicalization in anticipation of extending it to handle
    non-loop edges like those seen in dotnet#70802 (details in dotnet#70569).
    
    The code to fix up flow out of `h` was not needed and has been removed.
    We now assert upstream that no such fix up will be needed.
    AndyAyersMS authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    446e5ad View commit details
    Browse the repository at this point in the history
  2. Avoid infinite loop in case of heap corruption (dotnet#70759)

    Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
    Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com>
    3 people authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    205b7ff View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a7052ac View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    24bbfbf View commit details
    Browse the repository at this point in the history
  5. Add end-to-end test for NTLM/Negotiate authentication against fake se…

    …rver (dotnet#70630)
    
    * Add end-to-end test for NTLM/Negotiate authentication against fake server
    
    * Simplify the test since HttpClientHandler is always SocketsHttpHandler for the test environment
    
    * Fix test condition
    
    * Remove extra comment
    filipnavara authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    3c33b42 View commit details
    Browse the repository at this point in the history
  6. Enable ThreadAbort with CET enabled via the QueueUserAPC2 (dotnet#70803)

    This change makes ThreadAbort work when CET is enabled. Instead of
    thread redirection, it uses the new user mode APC mechanism to get a
    thread to a handler and then throws the ThreadAbortException from there
    if the thread was interrupted at a safe location.
    
    I have verified it works using mdbg tests and also by manual testing in
    the Visual Studio 2022 using a test app that creates an instance of
    classes with properties containing infinite loop, wait on a lock, wait
    on a handle, infinite loop inside of a lock and infinite loop in
    finally.
    For the testing, I've enabled this separately from the CET so that the
    missing support for CET in the debugger code doesn't cause troubles.
    
    So we could enable this without CET enabled too, but I'd prefer doing
    that separately.
    janvorli authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    3fc61eb View commit details
    Browse the repository at this point in the history
  7. Test additional NativeAOT Lib testing (dotnet#70212)

    * Test additional NativeAOT Lib testing
    
    * more libraries to un nativeaot rolling build
    
    * FB
    
    * FB2
    
    * only write results file if specified in args
    
    * excluding failing tests
    
    * oops, missed pull before a forced push
    
    * excluding some recently added tests that fail
    
    * fix typo with end element
    
    * FB
    LakshanF authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    c972517 View commit details
    Browse the repository at this point in the history
  8. Fix emitDispJumpList for Arm64 (dotnet#70542)

    * fix jitdump
    
    * Fix arm build
    
    * Another format
    kunalspathak authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    3b04dc1 View commit details
    Browse the repository at this point in the history
  9. Fix regression in runtime-jit-experimental (dotnet#70797)

    The newly-introduced `emitRemoveJumpToNextInst` optimization caused
    a regression when hot/cold-splitting, where jumps from the last hot
    instruction to the first cold instruction were erroneously removed.
    This is fixed by disabling the `isRemovableJmpCandidate` flag for
    branches between hot/cold sections.
    
    On an unrelated note, a JIT dump message has been added to indicate
    stress-splitting is occurring.
    Aman Khalid authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    8b3be89 View commit details
    Browse the repository at this point in the history
  10. JIT: relax fwd sub restriction on changing class handle (dotnet#70587)

    For HW SIMD types, at least.
    
    Fixes dotnet#64879.
    AndyAyersMS authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    f25caab View commit details
    Browse the repository at this point in the history
  11. Use LastIndexOf in ZipArchiveEntry.GetFileName_Unix (dotnet#70701)

    There's not particularly good reason to open-code the loop here.
    stephentoub authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    9ab00ef View commit details
    Browse the repository at this point in the history
  12. Update dogfooding instructions (dotnet#70833)

    - Delete note about multilevel lookup. It is not relevant anymore.
    - Fix nightly feed url to net7
    - Replace .NET Core with just .NET
    jkotas authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    cfeab72 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ab998cc View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    6e7001c View commit details
    Browse the repository at this point in the history
  15. Simplify Environment.IsWindows8OrAbove. (dotnet#70818)

    * Simplify Environment.IsWindows8OrAbove.
    Since .NET 5, the regular Windows version detecton code always returns the correct version.
    
    * Remove two unused interop files.
    teo-tsirpanis authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    1b6f76d View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3874c65 View commit details
    Browse the repository at this point in the history
  17. Add limited support for LocalCertificateSelectionCallback for QUIC (d…

    …otnet#70716)
    
    * Inline state transition helpers
    
    Fixes dotnet#55437
    
    * Add high level comments for HandleEventReceive and ReadAsync
    
    * [QUIC] Call `LocalCertificateSelectionCallback` to get client certificate
    
    * Code review feedback
    rzikm authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    9a80f1d View commit details
    Browse the repository at this point in the history
  18. JIT: Optimize range checks for X >> CNS and for short/byte indices (d…

    …otnet#67141)
    
    Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
    EgorBo and SingleAccretion authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    401722b View commit details
    Browse the repository at this point in the history
  19. Tighten checks in areArgumentsContiguous (dotnet#70829)

    * Tighten checks in "areArgumentsContiguous"
    
    * Add a test
    SingleAccretion authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    195a0a9 View commit details
    Browse the repository at this point in the history
  20. Narrow cast fix (dotnet#70518)

    * Added genActualTypeSize. Remove narrow cast if the actual type sizes are the same
    
    * Trying to fix build
    
    * Fixing build
    
    * Removed genActualTypeSize. Using genActualType instead
    
    * Added helper function
    
    * Comments
    
    * Moving back to morph
    
    * Removing part of the test
    
    * Added fgOptimizeCastOnAssignment
    
    * Fixing build
    
    * Removing extra bits
    
    * Removed fgIsSafeToRemoveIntToIntCastOnAssignment, inlining the implementation, adding extra logic when actual types are not the same
    TIHan authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    52cced2 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    3b09519 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    502f9ac View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    1dbda71 View commit details
    Browse the repository at this point in the history
  24. [wasm] Enabled WriteToReadOnly tests - emscripten bug got fixed (dotn…

    …et#70814)
    
    Fixes dotnet#53021.
    
    Enabled tests from dotnet#53021 - they are passing now because issue reported by @radekdoulik got fixed: emscripten-core/emscripten#14299.
    ilonatommy authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    ae49f52 View commit details
    Browse the repository at this point in the history
  25. Use IndexOf{Any} in a few more places (dotnet#70176)

    * Use IndexOf{Any} in a few more places
    
    * Address PR feedback
    stephentoub authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    11d8e26 View commit details
    Browse the repository at this point in the history
  26. Fix corerun for assemblies with mismatched filename (dotnet#70800)

    corerun gracefully handled filename not matching the assembly name. Handling of this case regressed in dotnet#68186. This change is fixing the regression.
    
    Fixes dotnet#68455
    jkotas authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    5713bea View commit details
    Browse the repository at this point in the history
  27. Fix a few Stream-related issues in System.Net.Http (dotnet#70731)

    * Fix a few Stream-related issues in System.Net.Http
    
    * Put back WriteTimeout
    
    * Fix tests
    stephentoub authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    36f2dc2 View commit details
    Browse the repository at this point in the history
  28. Catch (more) mismatched args in fgMorphArgs (dotnet#70846)

    * Catch (more) mismatched args in "fgMorphArgs"
    
    * Add a test
    SingleAccretion authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    795a0f7 View commit details
    Browse the repository at this point in the history
  29. [coop] fix coop suspend timeout cue card (dotnet#70828)

    the BLOCKING_SUSPEND_REQUESTED state is treated as suspend in full
    coop mode (the thread keeps running, but by definition it's not
    allowed to access managed resources and it will self-suspend if it
    tries to enter GC Unsafe mode by calling a runtime API or managed
    code).
    It is bad in hybrid suspend mode (the thread should be preemptively
    suspended, but we timed out before the signal handler had a chance to
    run).
    
    The corresponding suspension logic in the code is:
    
    https://github.com/dotnet/runtime/blob/3fc61ebb562afc327a8fc6de5c82d76e86bf6f5d/src/mono/mono/utils/mono-threads.c#L1149-L1158
    lambdageek authored Jun 16, 2022
    Configuration menu
    Copy the full SHA
    1a02f0d View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2022

  1. Fixing the handling of Positive NaN in Math.Min for float/double (dot…

    …net#70795)
    
    * Adding tests validating Positive NaN for Max, MaxMagnitude, Min, and MinMagnitude
    
    * Fixing the handling of Positive NaN in Math.Min for float/double
    
    * Fixing the Max/Min code comments to use greater and lesser
    
    * Adding a code comment clarifying the sign toggling behavior
    tannergooding authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    48adb84 View commit details
    Browse the repository at this point in the history
  2. JIT: break loop canonicalization into two stages (dotnet#70809)

    For a given loop, we need to separate out the true backedge, any
    non-loop backedges, and any inner loop backedges so that they all
    target distinct blocks.
    
    Otherwise, we may violate assumptions that the loop entry dominates
    all blocks in the loop and that all backedges that reach top come
    from within the loop.
    
    This seems simplest to do with two rounds of canonicalization, one
    that moves the non-loop edges, and another that moves the true backedge.
    
    Fixes dotnet#70802.
    AndyAyersMS authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    e3a2097 View commit details
    Browse the repository at this point in the history
  3. Use Array.Empty() in System.Reflection.Metadata. (dotnet#70862)

    It is now available in all frameworks it targets.
    teo-tsirpanis authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    6154792 View commit details
    Browse the repository at this point in the history
  4. Delete StaticallyLinked property from Microsoft.NETCore.Native.Unix.p…

    …rops (dotnet#70854)
    
    This option has many issues. Anybody trying to experiment with static linking can add `<LinkerArg Include="-static" />` into the local file.
    jkotas authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    eca86de View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b6e2e1c View commit details
    Browse the repository at this point in the history
  6. Fix GC stress failure in LoaderAllocator::CompareExchangeValueInHandle (

    dotnet#70832)
    
    InterlockedCompareExchangeT has to be called on a raw Object* to make the GC stress infrastructure happy.
    jkotas authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    d940a01 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3b1a36e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3b2883b View commit details
    Browse the repository at this point in the history
  9. Assign proper VNs to "shared constant" CSE defs (dotnet#70852)

    * Assign proper VNs to shared CSE defs
    
    They must be those of the original expression, not the "base" constant CSE creates.
    
    * Add a test
    SingleAccretion authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    30379b7 View commit details
    Browse the repository at this point in the history
  10. Enable IDE0054 (Use compound assignment) (dotnet#70564)

    * Enable IDE0054 (Use compound assignment)
    
    * Update src/libraries/System.Data.Common/src/System/Data/Common/StringStorage.cs
    
    Co-authored-by: Tanner Gooding <tagoo@outlook.com>
    
    Co-authored-by: Tanner Gooding <tagoo@outlook.com>
    stephentoub and tannergooding authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    a796755 View commit details
    Browse the repository at this point in the history
  11. Use new byte[] span optimization in a few more places (dotnet#70665)

    * Use new byte[] span optimization in a few more places
    
    Separated out of larger change to use CreateSpan (these don't rely on that).
    
    * Address PR feedback
    stephentoub authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    10438a5 View commit details
    Browse the repository at this point in the history
  12. Improve TLS1.3 detection in registry for QUIC (dotnet#70730)

    * Improve TLS1.3 detection in registry for QUIC
    
    * Split client and server detection
    
    * Code review feedback
    rzikm authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    8a6672a View commit details
    Browse the repository at this point in the history
  13. Generate method bodies for delegate Invoke methods (dotnet#70883)

    There is a dataflow warning suppression in System.Linq.Expressions that assumes we'll always have an invocable method body for delegate Invoke method. We need one in IL. We don't in native code.
    
    Emulate what IL Linker does and generate a method body. This is a size regression.
    
    Suppression: https://github.com/dotnet/runtime/blob/3b2883b097a773715ca84056885e0ca1488da36e/src/libraries/System.Linq.Expressions/src/System/Dynamic/Utils/TypeUtils.cs#L906-L912
    
    Fixes dotnet#70880.
    MichalStrehovsky authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    07b5741 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    c75659b View commit details
    Browse the repository at this point in the history
  15. Enable IDE0020 (Use pattern matching) (dotnet#70523)

    * Enable IDE0020 (Use pattern matching)
    
    * Update src/libraries/System.Private.Xml/src/System/Xml/Serialization/XmlSerializationWriter.cs
    
    Co-authored-by: Buyaa Namnan <buyankhishig.namnan@microsoft.com>
    
    * Update variable naming
    
    Co-authored-by: Buyaa Namnan <buyankhishig.namnan@microsoft.com>
    stephentoub and buyaa-n authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    3fdee96 View commit details
    Browse the repository at this point in the history
  16. Fix failure building two libraries tests (dotnet#70881)

    Microsoft.CSharp was hitting an issue due to a vararg constructor. We don't support varargs. They shouldn't make it into the dependency graph. We are already checking in many places. We were erroneously thinking a vararg constructor with no mandatory arguments is a default constructor.
    
    Runtime.InteropServices were crashing because we got a MulticastDelegate type into a codepath that expects a MulticastDelegate descendant.
    MichalStrehovsky authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    1b87ff9 View commit details
    Browse the repository at this point in the history
  17. Use hash/hmac one shots in NTLM (dotnet#70857)

    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    vcsjones and stephentoub authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    5fc5c68 View commit details
    Browse the repository at this point in the history
  18. Unpin locals, attempt 2 (dotnet#70655)

    Contributes to dotnet#40553
    aromaa authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    a78211b View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    6d6a373 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    5df4473 View commit details
    Browse the repository at this point in the history
  21. Add event to capture min/max threads (dotnet#70063)

    Event ThreadPoolMinMaxThreads added. 
    
    Parameters are:
                ushort MinWorkerThreads
                ushort MaxWorkerThreads
                ushort MinIOCompletionThreads
                ushort MaxIOCompletionThreads
                ushort ClrInstanceID
    
    It is fired in the ThreadPool constructor and in the SetMinThreads/SetMaxThreads functions.
    eduardo-vp authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    41d9c1c View commit details
    Browse the repository at this point in the history
  22. [wasm] Add support for per-project customization of helix work items (d…

    …otnet#70461)
    
    * [wasm] Add support for per-project customization of helix work items
    
    Currently, for sending tests to helix:
    1. the project binaries are zipped, as part of the project build
    2. then separate helix targets files build that adds helix items for
       those zip files.
        - for wasm, we test with multiple 'scenarios' - like v8, browser, and
        nodejs.
        - so, 3 helix work items are submitted per zip file
    
    - If a test project needs to have any customizations, for example, for
      testing crypto with a managed implementation, and subtlecrypto, which
      would require:
      - passing different arguments to xharness, in case of managed, and
        subtlecrypto
      - and this should be done only for the browser case
      - Currently, this would need this would need to be done in
      `sendtohelix-wasm.targets` special casing for the test project, and
      scenario.
    
    - We add support for importing `$(ProjectName).helix.targets`, and
      calling a special target in that to add helix items, as needed.
    
    - This targets file can be set in the test project like:
    ```xml
    <HelixTargetsFile Condition="'$(TargetOS)' == 'Browser'">wasm.helix.targets</HelixTargetsFile>
    ```
      - it will get deployed next to the zip file, and picked up automatically
    
    ```xml
    <Project>
      <PropertyGroup>
        <_CryptoProjectName>System.Security.Cryptography.Tests</_CryptoProjectName>
        <System_Security_Cryptography_Tests_TargetName Condition="'$(Scenario))' == 'WasmTestOnBrowser'">System_Security_Cryptography_Tests_Targ
    et</System_Security_Cryptography_Tests_TargetName>
      </PropertyGroup>
    
      <Target Name="System_Security_Cryptography_Tests_Target">
        <ItemGroup>
          <HelixWorkItem Include="$(Scenario)-managed-$(_CryptoProjectName)">
            <PayloadArchive>$(TestArchiveTestsDir)$(_CryptoProjectName).zip</PayloadArchive>
            <Command>$(HelixCommand)</Command>
            <Timeout>$(_workItemTimeout)</Timeout>
          </HelixWorkItem>
    
          <HelixWorkItem Include="$(Scenario)-subtlecrypto-System.Security.Cryptography.Tests">
            <PayloadArchive>$(TestArchiveTestsDir)$(_CryptoProjectName).zip</PayloadArchive>
            <Command>$(HelixCommand)</Command>
            <Timeout>$(_workItemTimeout)</Timeout>
    
            <PreCommands Condition="'$(OS)' == 'Windows_NT'">set &quot;WasmXHarnessArgs=--web-server-use-cors&quot;</PreCommands>
            <PreCommands Condition="'$(OS)' != 'Windows_NT'">export &quot;WasmXHarnessArgs=--web-server-use-cors&quot;</PreCommands>
          </HelixWorkItem>
        </ItemGroup>
      </Target>
    ```
    
    - The targets file *must* have these:
        - a property named like `System_Security_Cryptography_Tests_TargetName`, for a
          test project named `System.Security.Cryptography.Tests`
        - if this property is not set, then the default behavior of adding
          work items will run
        - The target should add any items it needs to to `@(HelixWorkItem)`.
          - Examples of adding these can be seen in `sendtohelix*` project files
    
    - Remember that all these properties, and targets get imported into the
      msbuild *global* namespace, so make sure to use unique names to avoid
      conflicts with other test projects.
    
    Future work: this commit only enables it for wasm/library tests, but it should
    be easy to extract it out, but needs some testing.
    
    * [wasm] Helix: test with, and without subtle crypto
    
    * disable non-wasm builds
    
    * address review feedback
    
    * Address review feedback
    
    * Fix typo
    
    * Revert "disable non-wasm builds"
    
    This reverts commit 7ef99e8.
    
    * Update src/libraries/System.Security.Cryptography/tests/wasm.helix.targets
    
    Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
    
    * Address review feedback
    
    * remove debug spew
    
    * Change the way helix extension targets are discovered.
    
    The new approach:
    
    To run a custom project specific target for adding/editing @(HelixWorkItem):
    
    - In the project add:
        `<HelixTargetsFile Condition="'$(TargetOS)' == 'Browser'">wasm.helix.targets</HelixTargetsFile>`
    
        - This file gets copied next to the test archive as $(MSBuildProjectName).helix.targets
    
    - In this `wasm.helix.targets` file, add to $(HelixExtensionTargets) to run your custom target
    
    ```xml
      <PropertyGroup Condition="'$(IsRunningLibraryTests)' == 'true' and '$(Scenario)' == 'WasmTestOnBrowser'">
        <HelixExtensionTargets>$(HelixExtensionTargets);_AddHelixCrypoItems</HelixExtensionTargets>
    ```
    
    - The extension target will be called after the default items are added
      to `@(HelixWorkItem)`.
    - Useful properties to condition on: $(Scenario), $(IsRunningLibraryTests)
    - And add to, change, or remove from @(HelixWorkItem)
    
    Example:
    ```xml
      <Target Name="_AddHelixCrypoItems">
        <ItemGroup>
          <!-- remove the existing item -->
          <HelixWorkItem Remove="@(HelixWorkItem)" Condition="'%(OriginalFileName)' == '$(_CryptoProjectName)'" />
    
            <!-- add two new ones - managed, and subtylecrypto -->
          <HelixWorkItem Include="$(WorkItemPrefix)managed-$(_CryptoProjectName)">
            <PayloadArchive>$(TestArchiveTestsDir)$(_CryptoProjectName).zip</PayloadArchive>
            <Command>$(HelixCommand)</Command>
            <Timeout>$(_workItemTimeout)</Timeout>
            <OriginalFileName>$(_CryptoProjectName)</OriginalFileName>
          </HelixWorkItem>
    
          <HelixWorkItem Include="$(WorkItemPrefix)subtlecrypto-$(_CryptoProjectName)">
            <PayloadArchive>$(TestArchiveTestsDir)$(_CryptoProjectName).zip</PayloadArchive>
            <Command>$(HelixCommand)</Command>
            <Timeout>$(_workItemTimeout)</Timeout>
            <OriginalFileName>$(_CryptoProjectName)</OriginalFileName>
    
            <PreCommands Condition="'$(OS)' == 'Windows_NT'">set &quot;WasmXHarnessArgs=%WasmXHarnessArgs% --web-server-use-cop&quot;</PreCommands>
            <PreCommands Condition="'$(OS)' != 'Windows_NT'">export &quot;WasmXHarnessArgs=$WasmXHarnessArgs --web-server-use-cop&quot;</PreCommands>
          </HelixWorkItem>
    
          <_CryptoHelixItem Include="@(HelixWorkItem)"
                            Condition="$([System.String]::new('%(HelixWorkItem.Identity)').EndsWith('-$(_CryptoProjectName)'))" />
        </ItemGroup>
    
        <Error Text="Something went wrong. Expected to have only two work items for $(_CryptoProjectName). But got @(_CryptoHelixItem)"
               Condition="@(_CryptoHelixItem->Count()) != 2" />
      </Target>
    ```
    
    * cleanup
    
    * Move WBT specific stuff into the target too. This will make it simpler to move it off into a targets file later
    
    * fix build
    
    * fix libtests
    
    * fix wbt
    
    * [wasm] Bump helix timeout to 90mins for debugger tests on windows
    
    Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
    radical and eerhardt authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    2627ea3 View commit details
    Browse the repository at this point in the history
  23. Fix bug in Tar preventing extraction of hardlinks or entries starting…

    … with `.\` (dotnet#70853)
    
    * Add PlatformDetection.SupportsHardLinkCreation property.
    
    * Fix how paths are combined/joined and sanitized on extraction, to ensure paths with redundant segments get properly handled.
    
    * Add tests that verify archives with entries whose paths start with .\, including the root folder itself.
    
    * Re-enable the hardlink test, condition it to not run if platform does not support extraction of hardlinks.
    
    * Remove unnecessary test - This same code is already being tested by TarReader_ExtractToFile_Tests.ExtractEntriesWithSlashDotPrefix
    
    * Reuse test code that retrieves memory stream.
    
    * Bump test data package version
    
    * Add missing typeof(PlatformDetection) in ConditionalFact
    
    Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
    carlossanlop and carlossanlop authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    051b482 View commit details
    Browse the repository at this point in the history
  24. Remove #define Sleep (dotnet#70868)

    * Remove #define Sleep
    AaronRobinsonMSFT authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    0d0fd75 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    0666d9d View commit details
    Browse the repository at this point in the history
  26. Replace the remaining uses of Marshal.PtrToStructure in core networki…

    …ng (dotnet#70900)
    
    * Rename ICMP interop to match Windows SDK names
    jkotas authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    9dfdfbf View commit details
    Browse the repository at this point in the history
  27. Add support for delegate GDV and method-based vtable GDV (dotnet#68703)

    Add support for instrumenting delegate calls and vtable calls into method handle histograms. Use these histograms to do GDV for delegate calls and also support method-based GDV for vtable calls.
    
    For instrumentation we now support class probes at interface call sites, method probes at delegate call sites and both class probes and method probes at vtable call sites. For vtable calls, when turned on, instrumentation produces both histograms as PGO data so that the JIT can later make the choice about what is the best form of guard to use at that site.
    
    For guarding, there are some things to take into account. Delegate calls currently (practically) always point to precode, so this PR is just guarding on getFunctionFixedEntryPoint which returns the precode address, and this is generally quite cheap (same cost as class-based GDV). That's the case for delegates pointing to instance methods anyway, this PR does not support static methods yet -- those will be more expensive.
    
    For vtable calls the runtime will backpatch the slots when tiering, so the JIT guards the address retrieved from the vtable against an indirection of the slot, which is slightly more expensive than a class-based guard.
    
    Currently the instrumentation is enabled conditionally with COMPlus_JitDelegateProfiling=1 (for delegates) and COMPlus_JitVTableProfiling=1 (for vtable calls). Currently delegate profiling is turned on by default while vtable profiling is off by default.
    jakobbotsch authored Jun 17, 2022
    Configuration menu
    Copy the full SHA
    cae8546 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2022

  1. Configuration menu
    Copy the full SHA
    4abfe7c View commit details
    Browse the repository at this point in the history
  2. Append the function pointer type (dotnet#70923)

    The issue here was the recursion into PrettyPrintSigWorkerInternal
    that would reset the buffer. Now, we pass in a new buffer and append
    it when we return.
    AaronRobinsonMSFT authored Jun 18, 2022
    Configuration menu
    Copy the full SHA
    df822e7 View commit details
    Browse the repository at this point in the history
  3. [main] Update dependencies from dotnet/runtime dotnet/icu dotnet/xhar…

    …ness dotnet/runtime-assets dotnet/emsdk dotnet/roslyn-analyzers (dotnet#70476)
    
    * Update dependencies from https://github.com/dotnet/runtime-assets build 20220608.1
    
    Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
     From Version 7.0.0-beta.22281.1 -> To Version 7.0.0-beta.22308.1
    
    * Update dependencies from https://github.com/dotnet/emsdk build 20220608.2
    
    Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
     From Version 7.0.0-preview.6.22281.1 -> To Version 7.0.0-preview.6.22308.2
    
    * Update dependencies from https://github.com/dotnet/xharness build 20220610.1
    
    Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
     From Version 1.0.0-prerelease.22305.1 -> To Version 1.0.0-prerelease.22310.1
    
    * Revert "Update dependencies from https://github.com/dotnet/emsdk build 20220608.2"
    
    This reverts commit bbb4e15.
    
    * Update dependencies from https://github.com/dotnet/icu build 20220609.1
    
    Microsoft.NETCore.Runtime.ICU.Transport
     From Version 7.0.0-preview.6.22306.1 -> To Version 7.0.0-preview.6.22309.1
    
    * Update dependencies from https://github.com/dotnet/emsdk build 20220608.2
    
    Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
     From Version 7.0.0-preview.6.22281.1 -> To Version 7.0.0-preview.6.22308.2
    
    * Update dependencies from https://github.com/dotnet/runtime-assets build 20220610.1
    
    Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
     From Version 7.0.0-beta.22281.1 -> To Version 7.0.0-beta.22310.1
    
    * Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20220610.1
    
    Microsoft.CodeAnalysis.NetAnalyzers
     From Version 7.0.0-preview1.22302.1 -> To Version 7.0.0-preview1.22310.1
    
    * Update dependencies from https://github.com/dotnet/runtime build 20220612.5
    
    Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
     From Version 7.0.0-preview.6.22305.4 -> To Version 7.0.0-preview.6.22312.5
    
    * Update dependencies from https://github.com/dotnet/icu build 20220613.1
    
    Microsoft.NETCore.Runtime.ICU.Transport
     From Version 7.0.0-preview.6.22306.1 -> To Version 7.0.0-preview.6.22313.1
    
    * Update dependencies from https://github.com/dotnet/xharness build 20220613.1
    
    Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
     From Version 1.0.0-prerelease.22310.1 -> To Version 1.0.0-prerelease.22313.1
    
    * Update dependencies from https://github.com/dotnet/runtime-assets build 20220613.1
    
    Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
     From Version 7.0.0-beta.22281.1 -> To Version 7.0.0-beta.22313.1
    
    * Update dependencies from https://github.com/dotnet/emsdk build 20220613.1
    
    Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
     From Version 7.0.0-preview.6.22281.1 -> To Version 7.0.0-preview.6.22313.1
    
    * [wasm] Wasm.Build.Tests: Disable strict version checks for emcc
    
    Due to the way we have to update `dotnet/emsdk`, and get the update PRs
    in `runtime`, the emsdk version can be mismatched. For example, if
    `dotnet/emsdk` has already updated to `3.1.12`, but `dotnet/runtime` is
    still on `3.1.7`. This is an expected scenario while working on updating
    to a newer emscripten.
    
    The version mismatch will still show up, but as a warning now.
    
    * Update dependencies from https://github.com/dotnet/xharness build 20220614.1
    
    Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
     From Version 1.0.0-prerelease.22310.1 -> To Version 1.0.0-prerelease.22314.1
    
    * [wasm] Wasm.Build.Tests: Update Skiasharp reference
    
    The skiasharp dependent tests fail with:
    `error : undefined symbol: _ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv`.
    
    Update the reference to the latest package which added a binary compiled
    for `3.1.7`.
    
    * [wasm] Workaround a test failure in WBT
    
    Currently, there is a mismatch between emsdk versions with the workload
    emscripten packs using `3.1.12`, and the runtime being built with
    `3.1.7`. And that is causing
    `Wasm.Build.Tests.NativeLibraryTests.ProjectUsingSkiaSharp` to fail with:
    
    ```
    EXEC : error : undefined symbol: _ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv (referenced by top-level compiled C/C++ code) [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    EXEC : warning : Link with `-sLLD_REPORT_UNDEFINED` to get more information on undefined symbols [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    EXEC : warning : To disable errors for undefined symbols use `-sERROR_ON_UNDEFINED_SYMBOLS=0` [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    EXEC : warning : __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv may need to be added to EXPORTED_FUNCTIONS if it arrives from a system library [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    EXEC : error : undefined symbol: _ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv (referenced by top-level compiled C/C++ code) [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    EXEC : warning : __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv may need to be added to EXPORTED_FUNCTIONS if it arrives from a system library [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    EXEC : error : Aborting compilation due to previous errors [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    emcc : error : '/datadisks/disk1/work/B1420981/w/ACC90933/e/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.3.1.12.Node.linux-x64/7.0.0-preview.6.22313.1/tools/bin/node /datadisks/disk1/work/B1420981/w/ACC90933/e/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.3.1.12.Sdk.linux-x64/7.0.0-preview.6.22313.1/tools/emscripten/src/compiler.js /datadisks/disk1/work/B1420981/t/tmp44tn7y2d.json' failed (returned 1) [/datadisks/disk1/work/B1420981/w/ACC90933/e/blz_nativeref_aot_Debug/blz_nativeref_aot_Debug.csproj]
    ```
    
    This commit adds a temporary workaround to ignore the undefined symbols
    for this specific test. And this should be removed when runtime is
    updated to `3.1.12` .
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
    Co-authored-by: Larry Ewing <lewing@microsoft.com>
    Co-authored-by: Ankit Jain <radical@gmail.com>
    5 people authored Jun 18, 2022
    Configuration menu
    Copy the full SHA
    e9175f4 View commit details
    Browse the repository at this point in the history
  4. Harden for null byrefs (dotnet#70317)

    * Remove enum_flag_Unrestored usage in boxing stubs.
    
    * Add AND instruction (21h) to x86 decoder.
    
    * Update mono for null ref in interpreter paths.
    
    * Disable test on llvmfullaot and wasm
    
    * Handle null destination for intrinsics.
    AaronRobinsonMSFT authored Jun 18, 2022
    Configuration menu
    Copy the full SHA
    4adb117 View commit details
    Browse the repository at this point in the history
  5. Use u8 in a few more places (dotnet#70894)

    * Use u8 in a few more places
    
    * A few more u8s
    stephentoub authored Jun 18, 2022
    Configuration menu
    Copy the full SHA
    7a2cccd View commit details
    Browse the repository at this point in the history
  6. Enable lib tests that used to fail with GC issues (dotnet#70831)

    * enable lib tests that used to fail with GC issues
    
    * excluding linq parallel test since that doesn't build
    
    * Threading.Thread tests have issues
    
    * Excluding new test failures
    LakshanF authored Jun 18, 2022
    Configuration menu
    Copy the full SHA
    6dc9faa View commit details
    Browse the repository at this point in the history
  7. Remove some dead code / branches (dotnet#70146)

    * Remove some dead code / branches
    
    Some signal amidst the noise in an lgtm.com report.
    
    * Address PR feedback
    stephentoub authored Jun 18, 2022
    Configuration menu
    Copy the full SHA
    9d0fcb5 View commit details
    Browse the repository at this point in the history
  8. superpmi.py: Add -jitoption for asmdiffs (dotnet#70939)

    The new `-jitoption` option passes the argument options to both baseline and diff
    compilers. This is a convenience option: there already is `-base_jit_option` and
    `-diff_jit_option` to specify passing options to either baseline or diff.
    
    The name of the option is the same as that used for `replay`.
    BruceForstall authored Jun 18, 2022
    Configuration menu
    Copy the full SHA
    e771b5d View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2022

  1. Configuration menu
    Copy the full SHA
    c230ba6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    656f909 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8442a62 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    246d9bb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    27182d4 View commit details
    Browse the repository at this point in the history
  6. Update C# compiler (dotnet#70947)

    Brings in support for required members
    stephentoub authored Jun 19, 2022
    Configuration menu
    Copy the full SHA
    7a039ff View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b8d9a74 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    566de97 View commit details
    Browse the repository at this point in the history
  9. Do not reuse implicit byrefs for by-value args (dotnet#70955)

    * Do not reuse implicit byrefs for by-value args
    
    * Add a test
    SingleAccretion authored Jun 19, 2022
    Configuration menu
    Copy the full SHA
    222d9e9 View commit details
    Browse the repository at this point in the history
  10. Enable TYP_STRUCT LCL_VAR/LCL_FLD call args on Windows x64 (dotne…

    …t#70777)
    
    * Fix forward sub
    
    * Enable folding in local morph
    
    * Morph: TYP_STRUCT LCL_FLD
    SingleAccretion authored Jun 19, 2022
    Configuration menu
    Copy the full SHA
    3dc3eba View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2022

  1. Make SuperPMI more explicit about JIT in error messages (dotnet#70938)

    This makes it easier to figure out which JIT failed in asmdiffs scenarios.
    
    e.g.,
    ```
    [10:40:50] ERROR: Method 3673 of size 3107 failed to load and compile correctly by JIT2 (C:\gh\runtime\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root\clrjit_universal_arm64_x64.dll).
    [10:40:50] ERROR: Method 3673 of size 3107 failed to load and compile correctly by JIT1 (C:\gh\runtime2\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root\clrjit_universal_arm64_x64.dll).
    ```
    BruceForstall authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    61b5d61 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2b0d0d1 View commit details
    Browse the repository at this point in the history
  3. Disable W^X on macOS under Rosetta emulation (dotnet#70912)

    * Disable W^X on macOS under Rosetta emulation
    
    Apple has informed us that double mapping doesn't work properly
    on Rosetta emulation. This change disables W^X if Rosetta is detected.
    
    * Reflect PR feedback
    janvorli authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    1ec5ba5 View commit details
    Browse the repository at this point in the history
  4. Add support for randomized guard stack cookies (dotnet#70806)

    The compiler was generating GS cookies, but the cookie was always an ASCII encoding of "Hi, mom!".
    
    Make the cookie properly per-process randomized.
    
    The randomization algorithm is same as in the CoreCLR VM.
    
    Fixes dotnet#70071.
    MichalStrehovsky authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    f00c8be View commit details
    Browse the repository at this point in the history
  5. Fixes dotnet#64159 - JsonSerializerContext source generation fails wi…

    …th keyword identifiers (dotnet#66876)
    
    * Fixes dotnet#64159 - initial implementation
    
    * Tidy up, and add test for ignored reserved-keyword-named property
    
    * PR feedback - use same approach as logging generator
    
    * PR feedback
    
    * Update src/libraries/System.Text.Json/gen/JsonSourceGenerator.Parser.cs
    
    Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
    
    * PR feedback - rename ExactNameSpecifiedInSourceCode
    
    * PR feedback - use extracted (and renamed) local variable
    
    * Remove commented code
    
    * Added `IsVerbatimName` as extension method
    
    * Support fields with verbatim names (@)
    
    * Use alternative method for checking for verbatim names
    
    * Uses `SyntaxFacts` to determine if escaping is needed
    
    * Remove extension method
    
    * Modified source generator test to include a verbatim field
    
    * Minor typo
    
    Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
    SteveDunn and am11 authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    12c1ead View commit details
    Browse the repository at this point in the history
  6. [main] Update dependencies from dotnet/arcade (dotnet#70662)

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    38794de View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    de170cc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b4df8db View commit details
    Browse the repository at this point in the history
  9. [QUIC] Removes abstract providers and mock from S.N.Quic (dotnet#70421)

    * Removed abstract providers and mock from S.N.Quic
    
    * Removed provider and replaced with statics on Listener and Connection
    
    * Added assert
    ManickaP authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    38719c0 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b9f899e View commit details
    Browse the repository at this point in the history
  11. Upstream coreclr and pal changes to support powerpc (ppc64le) archite…

    …cture (dotnet#69105)
    
    * coreclr pal layer chanegs.
    
    * Updated the system arch for power architecture.
    
    * Fixed the failing PAL SXS exception_handling test case
    
    * replaced gint with gint64 to avoid overflow and this has fixed the segmentation fault issue.
    
    * coreclr pal layer chanegs.
    
    * Fixed the failing PAL SXS exception_handling test case
    
    * coreclr pal layer chanegs.
    
    * Updated the system arch for power architecture.
    
    * Fixed the failing PAL SXS exception_handling test case
    
    * replaced gint with gint64 to avoid overflow and this has fixed the segmentation fault issue.
    
    * coreclr pal layer chanegs.
    
    * Fixed the failing PAL SXS exception_handling test case
    
    * Removing intsafe.h file as main does not have this file now.(Already removed in commit 27195f6)
    
    Co-authored-by: Alhad Deshpande <Alhad.Deshpande1@ibm.com>
    vikasgupta8 and alhad-deshpande authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    edd3597 View commit details
    Browse the repository at this point in the history
  12. Collections contain stale object IDs (dotnet#70924)

    It looks like the collections contain stale
    ObjectID values. These collection should
    be purged between GCs.
    AaronRobinsonMSFT authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    6d80379 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    807d091 View commit details
    Browse the repository at this point in the history
  14. Fix arm64 funclet frame type 5 (dotnet#70922)

    * Fix arm64 funclet frame type 5
    
    * Add code to stress arm64 funclet frame type 5
    
    This can be forced using `COMPlus_JitSaveFpLrWithCalleeSavedRegisters=3`,
    or will be enabled under stress.
    
    * Add a regression test
    
    * Fix funclet frame type 5 alignment calculation
    
    * Fix a couple bugs; improve documentation
    
    1. Improve the frame shape pictures, especially for arm64 funclet frames. Include the
    MonitorAcquired element and OSR pad.
    2. Fix bug for `SP_to_PSP_slot_delta` for funclet frame type 4 for OSR: don't include osrPad.
    3. Fix bug with funclet frame type 5 for `SP_to_FPLR_save_delta` using wrong aligned func size;
    would be incorrect if one and two SP adjustment full frame aligned sizes are different (e.g.,
    if two SP adjustment required two alignment slots and one SP adjustment thus required none).
    BruceForstall authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    dc8fd68 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    df53937 View commit details
    Browse the repository at this point in the history
  16. JIT: Model string literal objects as invariant and non-GLOB_REF (dotn…

    …et#70986)
    
    * Model string literals as invariant/non GLOB_REF
    
    * String literals are never null
    jakobbotsch authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    81cf5ad View commit details
    Browse the repository at this point in the history
  17. Add support for cross module inlining and cross module generic compil…

    …ation to Crossgen2 (dotnet#68919)
    
    * Add support for cross module inlining and cross module generic compilation to Crossgen2
    - Refactor Module into ModuleBase and Module
      - The goal is to have allow a subset version of Module which can only hold refs, this is to be used by the manifest module in an R2R image to allow for version resilient cross module references.
      - Update handling of ModuleBase so that its used everywhere that tokens are parsed from R2R
      - Remove ENCODE_MODULE_ID_FOR_STATICS and ENCODE_ACTIVE_DEPENDENCY
        - These were only used for NGEN, and conflict with easy impelmentation for the ModuleBase concept
      - Remove locking in ENCODE_STRING_HANDLE processing, and tweak comments. Comments applied to the removed ngen based code, and the lock was only necessary for the old ngen thing.
      - Adjust ComputeLoaderModuleWorker for locating loader module
        - Follow comment more accurately, to avoid putting every generic into its definition module. This will make R2R function lookup able to find compiled instantiations in some cases. This may be what we want long term, it may not.
      - Remove MemberRefToDesc map and replace with LookupMap like the other token types. We no longer make use of the hot table, so this is more efficient
        - Also reduces complexity of implementation of ModuleBase
    
    - Build fixup to describe a single method as a standalone blob of data
      - There are parallel implementations in Crossgen2 and in the runtime
      - They produce binary identical output
      - Basic R2RDump support for new fixup
    
    - Adjust module indices used within the R2R format to support a module index which refers to the R2R manifest metadata. This requires bumping the R2R version to 6.2
      - Add a module index between the set of assembly refs in the index 0 module and the set of assembly refs in the R2R manifest metadata
    
    - Adjust compilation dependency rules to include a few critical AsyncStateMachineBox methods
    
    - Remove PEImage handling of native metadata which was duplicative
    
    - Do not enable any more devirtualization than was already in use, even in the cross module compilation scenario. In particular, do not enable devirtualization of methods where the decl method isn't within the version bubble, even if the decl method could be represented with a cross-module reference token. (This could be fixed, but is out of scope for this initial investigation)
    
    Make the compilation deterministic in this new model, even though we are generating new tokens on demand
      - Implement this by detecting when we need new tokens during a compile, and recompiling with new tokens when necessary
      - This may result in compiling the same code as much as twice
    
    Compile the right set of methods with cross module inlining enabled
    - Add support for compiling the called virtual methods on generic types
      - This catches the List<T> and Dictionary<TKey,TValue> scenarios
    
    - Add command line switches to enable/disable the new behavior
      - By default the new behavior is not enabled
    davidwrighton authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    18ec279 View commit details
    Browse the repository at this point in the history
  18. Implement Vector128 version of System.Buffers.Text.Base64 DecodeFromU…

    …tf8 and EncodeToUtf8 (dotnet#70654)
    
    * Implement Vector128 version of System.Buffers.Text.Base64.DecodeFromUtf8
    
    Rework the SS3 into a Vector128 version, and add Arm64 support.
    
    * SSE3 improvements
    
    * Remove superfluous bitwise And
    
    * Add comment to SimdShuffle
    
    * Inline SimdShuffle
    
    * Implement Vector128 version of System.Buffers.Text.Base64.EncodeToUtf8
    
    * Ensure masking on SSE3
    
    Change-Id: I319f94cfc51d0542ae4eb11a8d48b3eb8180553f
    CustomizedGitHooks: yes
    
    * Restore asserts and move zero inside the loop
    
    * Neater C# code
    
    Change-Id: I2cbe14f4228f8035e7d213b5b58815c4eee35563
    CustomizedGitHooks: yes
    
    * Make SimdShuffle consistent across X64 and Arm64
    
    * Better looking multiply
    a74nh authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    d6d28e4 View commit details
    Browse the repository at this point in the history
  19. Use gtEffectiveVal for GT_ADD op1 in optCreateAssertion (dotnet…

    …#70228)
    
    * Initial work for comma hoisting in cse
    
    * Formatting
    
    * Adding more ops to comma hoisting
    
    * Set regnum
    
    * Update optcse.cpp
    
    * Using effectiveval instead
    TIHan authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    220ac84 View commit details
    Browse the repository at this point in the history
  20. Convert fallback path of GetCommandLineArgs to managed (dotnet#70608)

    * P/Invoke definition
    
    * Use P/Invoke in managed code
    
    * Update managed call site
    
    * Add test using private reflection
    
    * Native command line should be superset of managed
    
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    huoyaoyuan and jkotas authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    eba3636 View commit details
    Browse the repository at this point in the history
  21. [wasm] Enabled WasmTestOnBrowser run on Windows for Browser. (dotnet#…

    …70890)
    
    * Enabled tests - no timeout with new ems. Keeping disabled tests failing from other reasons.
    
    * Added @radical's suggestion.
    
    * Test CI- enable test that are throwing in Debug.
    ilonatommy authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    96a7014 View commit details
    Browse the repository at this point in the history
  22. [wasm][debugger] Fix side effect on Firefox of getting bytes from loa…

    …ded_files using debugger protocol (dotnet#70990)
    
    * Fix 70983
    
    * fix typo
    
    * Fix compilation
    thaystg authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    1070187 View commit details
    Browse the repository at this point in the history
  23. Add AddSystemd() and AddWindowsService() IServiceCollection extension…

    … methods (dotnet#68580)
    
    * Add AddSystemd() IServiceCollection extension method
    
    * Add AddWindowsService() IServiceCollection extension method
    
    * Don't default to CWD if in C:\Windows\system32
    - instead, when CWD is C:\Windows\system32 Hosting will use AppContext.BaseDirectory. This way Windows apps and services that are launched will work by default. HostApplicationBuilder.ContentRootPath can't be changed after construction, so setting it to a workable default for Windows apps.
    
    Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
    Co-authored-by: Martin Costello <martin@martincostello.com>
    
    * Use RemoteExecutor
    
    * Update src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/HostTests.cs
    
    * Skip test on Windows nano server
    
    * Respond to PR feedback
    
    Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
    Co-authored-by: Martin Costello <martin@martincostello.com>
    3 people authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    e2cddab View commit details
    Browse the repository at this point in the history
  24. [main] Update dependencies from dotnet/runtime dotnet/xharness dotnet…

    …/icu dotnet/emsdk (dotnet#70991)
    
    * Update dependencies from https://github.com/dotnet/runtime build 20220619.5
    
    Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
     From Version 7.0.0-preview.6.22312.5 -> To Version 7.0.0-preview.6.22319.5
    
    * Update dependencies from https://github.com/dotnet/xharness build 20220620.1
    
    Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
     From Version 1.0.0-prerelease.22314.1 -> To Version 1.0.0-prerelease.22320.1
    
    * Update dependencies from https://github.com/dotnet/icu build 20220620.2
    
    Microsoft.NETCore.Runtime.ICU.Transport
     From Version 7.0.0-preview.6.22313.1 -> To Version 7.0.0-preview.6.22320.2
    
    * Update dependencies from https://github.com/dotnet/emsdk build 20220620.1
    
    Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
     From Version 7.0.0-preview.6.22313.1 -> To Version 7.0.0-preview.6.22320.1
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    9876d8c View commit details
    Browse the repository at this point in the history
  25. Windows/Arm64: Use 8.1 atomic instructions if they are available (dot…

    …net#70921)
    
    * Use Fast compareexchange, acquire/release
    
    * working windows version
    
    * remove printf
    
    * some more #ifdef
    
    * fix some #ifdef
    
    * optimize EnterObjMonitorHelperSpin
    
    * Remove FastInterlockedCompareExchange64 for now
    kunalspathak authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    6be8d27 View commit details
    Browse the repository at this point in the history
  26. Add ZipArchiveEntry.IsEncrypted for password-protection detection (do…

    …tnet#70036)
    
    * Add ZipArchiveEntry.IsEncrypted for password-protection detection
    
    * Apply suggestions from code review
    
    Co-authored-by: David Cantú <dacantu@microsoft.com>
    
    * Run GenerateReferenceAssemblySource for System.IO.Compression
    
    * Revert WriteAsync default parameter value removal
    
    * Update DeflateStream.WriteAsync to include the default param value
    
    * Revert unrelated change from GenerateReferenceAssemblySource
    
    * Revert unrelated change after syncing with GenerateReferenceAssemblySource
    
    Co-authored-by: David Cantú <dacantu@microsoft.com>
    jeffhandley and jozkee authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    19fcc31 View commit details
    Browse the repository at this point in the history
  27. Exposing IRootFunctions.Hypot and IRootFunctions.Root (dotnet#71010)

    * Exposing IRootFunctions.Hypot and IRootFunctions.Root
    
    * Adding tests for IRootFunctions.Hypot and IRootFunctions.Root
    tannergooding authored Jun 20, 2022
    Configuration menu
    Copy the full SHA
    715c71a View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2022

  1. Add TarEntry conversion constructors (dotnet#70325)

    * ref: Conversion constructors
    
    * src: Conversion constructors
    
    * tests: Conversion constructors
    carlossanlop authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    943da70 View commit details
    Browse the repository at this point in the history
  2. [wasm] Wasm.Build.Tests: disable tests failing on CI (dotnet#71020)

    * [wasm] Wasm.Build.Tests: disable tests failing on CI
    
    .. due to being oomkill'ed.
    
    * [wasm] Don't fail the job when firefox tests fail, as they are known to be unstable
    radical authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    87194f2 View commit details
    Browse the repository at this point in the history
  3. Remove allocation in ImmutableArray Builder Sort (dotnet#70850)

    * Remove allocation in ImmutableArray Builder Sort
    
    `ImmutableArray<T>.Builder.Sort(Comparison<T> comparison)` allocates a new instance of `Comparer<T>` using `comparison`. Then `ArraySort` allocates a new delegate from `comparer.Compare`. Both allocations can be eliminated by calling `Array.Sort<T>(T[] array, Comparison<T> comparison)` directly.
    
    * Sort only valid range of array
    
    * Use MemoryExtensions.Sort where available.
    
    * Update src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableArray_1.Builder.cs
    
    Fix spelling mistake.
    
    Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
    
    Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
    grbell-ms and eiriktsarpalis authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    30bf66a View commit details
    Browse the repository at this point in the history
  4. [Android] Make sure AdditionalTimeZoneChecks trait is added to xunit-…

    …excludes (dotnet#70974)
    
    The trait is supposed to be included in System.Runtime tests by default, but wasn't because the _withoutCategories property was in tests.props. As a result, the property was resolved before the .csproj properties. This fix moves the property definition to tests.targets.
    
    Fixes dotnet#70482
    steveisok authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    cb32ed3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f1358d0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    229502e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8a7930e View commit details
    Browse the repository at this point in the history
  8. Move allocation of command line argument array to C# (dotnet#71021)

    Also, avoid redundant allocation of managed string for each command line argument.
    jkotas authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    7ab7f83 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    20baea2 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    5889de5 View commit details
    Browse the repository at this point in the history
  11. Ensure consistent reflectability for generic methods (dotnet#70977)

    If we have a method body for `SomeMethod<Foo>` and `SomeMethod<T>` was decided to be reflection-visible, ensure `SomeMethod<Foo>` is also reflection-visible.
    MichalStrehovsky authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    3b8a6f4 View commit details
    Browse the repository at this point in the history
  12. Implement NegotiateAuthentication API (dotnet#70720)

    * WIP: Add implementation of NegotiateAuthentication
    
    Switch System.Net.Http to use NegotiateAuthentication
    Fix IsCompleted in managed NTLM implementation
    
    * WIP: Update error code mapping
    
    * Spanify input of GetOutgoingBlob
    
    * Update comments
    
    * Move NegotiateStreamPal.Encrypt/Decrypt to shared sources. Unix implementation already had them and they get trimmed anyway.
    
    * Revert accidental change
    
    * Build fixes.
    
    * Fix error handling condition
    
    * Update error mapping based on HttpListener usage.
    
    * WIP: HttpListener test
    
    * Move workaround from HttpListener to low-level SSPI code
    
    * Fix build
    
    * Clean up
    
    * Revert "WIP: HttpListener test"
    
    This reverts commit 18d7d93f04c93e048efcaca0f3c55c3f1f73516a.
    
    * Convert System.Net.Http.FunctionalTests to use NegotiateAuthentication instead of NTAuthentication
    
    * Dispose the identity along NegotiateAuthentication
    
    * Modify unit tests to use the new API
    
    * Add exceptions for invalid inputs/states
    
    * Remove tvOS unsupported marker, managed NTLM is used on tvOS
    
    * Apply suggestions from code review
    
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    
    * Fix typo
    
    * Remove reference equality checks from IsNTLM/IsKerberos
    
    * Remove NTAuthentication.AssociatedName to make it more obvious which exceptions are thrown
    
    * Add comment
    
    * Add more tests, handle unsupported protocols
    
    * Handle NotSupportedException from NTAuthentication constructor
    
    * Add workaround for linker issue
    
    * Apply suggestions from code review
    
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    filipnavara and stephentoub authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    79f6709 View commit details
    Browse the repository at this point in the history
  13. Fix IPAddress equality comparison in MsQuicListener (dotnet#70979)

    * Fix IPAddress equality comparison in MsQuicListener
    
    * Modify test
    
    * Adjust comment
    
    * Update src/libraries/System.Net.Quic/tests/FunctionalTests/QuicListenerTests.cs
    
    Co-authored-by: Anton Firszov <antonfir@gmail.com>
    
    Co-authored-by: Anton Firszov <antonfir@gmail.com>
    rzikm and antonfirsov authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    ff57575 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f9999cc View commit details
    Browse the repository at this point in the history
  15. [mono] Do not generate impossible instantiations for constrained gene…

    …rics in Mono AOT (dotnet#70838)
    
    This change improves the AOTed code size by reducing the number of generated methods for generics.
    Fixes dotnet#54850
    ivanpovazan authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    3affc68 View commit details
    Browse the repository at this point in the history
  16. Switch to PREEMPT mode when calling CoTaskMem* APIs (dotnet#71031)

    * Switch to PREEMPT mode when calling CoTaskMem* APIs
    
    * Add failfast for COM calls from managed code.
    
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    AaronRobinsonMSFT and jkotas authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    786ec9d View commit details
    Browse the repository at this point in the history
  17. JIT: fix loop alignment issue (dotnet#70936)

    When scanning to figure out which blocks should have alignment padding, we can
    sometimes encounter a block in a loop before we see the block at the top of the
    loop.. If so, remove alignment for that loop, otherwise the emitter code
    handling alignment gets tripped up. Even if the emitter could handle this case,
    it would be padding with the loop, not before it.
    
    The problematic block reordering is done much earlier. At some point we need to
    revisit this as it is making nonsensical ordering decisions. But we'll tolerate
    it for now.
    
    Fixes dotnet#70152.
    AndyAyersMS authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    95138dd View commit details
    Browse the repository at this point in the history
  18. JIT: Fix reordering of call args on x86 (dotnet#70931)

    On x86 we skipped checking stack arguments for side effects with a
    comment that such arguments do not need to be evaluated into temps.
    While this is true a large part of the logic that follows is responsible
    for evaluating previous arguments into temps, and we must still do this.
    jakobbotsch authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    43be83a View commit details
    Browse the repository at this point in the history
  19. Simplify random GDV (dotnet#70980)

    Given that we now have getLikelyClasses that returns all likely classes
    we can just use a random index into this array.
    jakobbotsch authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    ddb3c79 View commit details
    Browse the repository at this point in the history
  20. Add missing call to initiate thread abort with CET (dotnet#71053)

    In my recent PR to make ThreadAbort work with CET enabled, one key line of
    the change somehow slipped out of the change. This change adds that
    missing line that actually initiates the thread abort after interruption
    at a safe point.
    janvorli authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    d24bf09 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    bb17fb5 View commit details
    Browse the repository at this point in the history
  22. Fix SIMD data overallocation (dotnet#71043)

    The JIT was allocating 16 bytes for TYP_SIMD8 static data loads,
    and marking the data section as requiring 16 byte alignment as
    well. Fix this to not allocate more than necessary, or over align.
    BruceForstall authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    99e58d5 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    ad8b979 View commit details
    Browse the repository at this point in the history
  24. JIT: handle case where we are cloning adjacent sibling loops (dotnet#…

    …70874)
    
    We can sometimes see adjacent sibling loops (where L1.bottom == L2.head)
    and if so, cloning L1 will repurpose L1.bottom and so leave L2 in
    an inconsistent state.
    
    Detect this case during optCanonicalizeLoop, and add an intermediary
    block to serve as L2's head.
    
    Fixes dotnet#70569.
    AndyAyersMS authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    3684aa8 View commit details
    Browse the repository at this point in the history
  25. JIT: avoid cloning mid-entry loops with multiple non-loop entry preds (

    …dotnet#70959)
    
    If a mid-entry loop has several non-loop preds, some of them may be edges from
    enclosing loop constructs that were not recognized as loops on their own.
    
    Avoid cloning such loops. We won't do proper invariance anlysis as we are not
    properly recognizing the extent of the loop as is, and we won't get the flow
    connnected up properly post cloning (so that the fast loop is proper loop where
    the entry is dominated by the head).
    
    This is a workaround for a fairly rare case. Such loops are never iterable and
    so we will only try cloning when these loops have an invariant type test.
    
    Ideally we would extend loop canonicalization to cover this case, essentially
    ensuring that all recognized loops have a preheader -- that is, that the entry
    has just one non-loop predecessor. Currently we  do this only for top entry
    loops. But doing that with our current setup looked more complex and we don't
    expect to see many of these cases.
    
    Closes dotnet#70802.
    AndyAyersMS authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    925e26e View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    8fb75de View commit details
    Browse the repository at this point in the history
  27. [wasm] Migrate to ref/out param while reading data from typed array (d…

    …otnet#70823)
    
    Use js_typed_array_to_array_root in mono_wasm_typed_array_to_array_ref
    maraf authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    c158591 View commit details
    Browse the repository at this point in the history
  28. Renaming files because they don't reflect the IL code used in the tes…

    …ts (dotnet#69814)
    
    * Renaming files to .template because they reflect the code in the IL and also don't work
    
    * Rename valuetypes.cs to valuetypes.cs.template
    
    * Changing all the CS files that doesn't reflect the IL file
    thaystg authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    775a7ec View commit details
    Browse the repository at this point in the history
  29. Revert "Add support for cross module inlining and cross module generi…

    …c compilation to Crossgen2 (dotnet#68919)" (dotnet#71076)
    
    This reverts commit 18ec279.
    davidwrighton authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    89dc073 View commit details
    Browse the repository at this point in the history
  30. Use crypto.subtle for HMAC on Browser WASM (dotnet#70745)

    * Use crypto.subtle for HMAC on Browser WASM
    
    Implement the browser "native" portion for HMAC on Browser WASM.
    
    I also made a few refactoring / simplifications where necessary.
    
    Contributes to dotnet#40074
    eerhardt authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    eed18af View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    8558cdc View commit details
    Browse the repository at this point in the history
  32. [Mono] Fix C4018 warnings round II (dotnet#70783)

    * Fix C4018 warnings round II
    
    * Changes for x86
    
    * Fix more C4018 warnings
    
    * Last set of files being fixed within this PR
    
    * Address review feedback and fix a build failure
    
    * Update upd_locator_t to be in sync with locator_t
    fanyang-mono authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    18d7e39 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    ff4ae18 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    e40236a View commit details
    Browse the repository at this point in the history
  35. Align arm64 data section as requested (dotnet#71044)

    * Align arm64 data section as requested
    
    Currently, the data section alignment request is ignored unless
    it is 8. Since the minimum is 4, this effectively means that
    16-byte SIMD16 data alignment requests are ignored. This is likely
    because this code was written before arm64 supported SIMD, and was
    never revised.
    
    Cases of SIMD loads of constant data lead to larger alignment
    padding of the data section. This is somewhat mitigated by
    dotnet#71043 which fixes a bug with overallocation
    and overalignment of SIMD8 data loads.
    
    * Additional fixes
    
    1. On arm64/LA64, if asking for a data alignment greater than code
    alignment, we need to increase the requested code alignment since
    the code section is where this data will live. This isn't viewable
    in SPMI diffs, but it does increase the alignment of some functions
    from 8 to 16 byte code alignment.
    2. Assert that the data section is at least 4 bytes aligned
    (this is the default in our code, and alignment only increases).
    3. Simplify the code setting the alignment flags for allocMem.
    
    * Formatting + disable alignment asserts
    
    It looks like the buffer pointer passed back from crossgen2 doesn't
    meet the alignment request. Perhaps it does in the final image, but
    not in the buffer the JIT fills in? Maybe the asserts could be used
    for JIT-time but not AOT (when the buffer address is the final location
    of the code/data)?
    BruceForstall authored Jun 21, 2022
    Configuration menu
    Copy the full SHA
    058f83b View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2022

  1. [mono] Extend MonoAOTCompiler Task (dotnet#70851)

    * [mono] Extend HelloWorld sample to use MonoAotCompiler Task
    
    * [mono] Extend MonoAotCompiler Task to invoke dotnet-pgo
    
    * Use cache for incremental builds
    mdh1418 authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    46f53e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    11b746a View commit details
    Browse the repository at this point in the history
  3. Add idIsBound() check in emitDispJumpList() (dotnet#71086)

    * Add idIsBound() check in emitDispJumpList()
    
    * Simpler code
    kunalspathak authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    ead19a3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fdc3b51 View commit details
    Browse the repository at this point in the history
  5. [HTTP/3] Try catch for unreachable host in AltSvc H/3 upgrade test (d…

    …otnet#70993)
    
    * Try catch for unreachable host in AltSvc upgrade test
    
    * Fix after merge with main
    
    * Also skip HostUnreachable
    
    * Also skip ConnectionRefused
    ManickaP authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    0f149b7 View commit details
    Browse the repository at this point in the history
  6. [main] Update dependencies from dotnet/linker (dotnet#70614)

    * Update dependencies from https://github.com/dotnet/linker build 20220610.2
    
    Microsoft.NET.ILLink.Tasks
     From Version 7.0.100-1.22308.1 -> To Version 7.0.100-1.22310.2
    
    * Update dependencies from https://github.com/dotnet/linker build 20220613.4
    
    Microsoft.NET.ILLink.Tasks
     From Version 7.0.100-1.22308.1 -> To Version 7.0.100-1.22313.4
    
    * Update dependencies from https://github.com/dotnet/linker build 20220614.2
    
    Microsoft.NET.ILLink.Tasks
     From Version 7.0.100-1.22308.1 -> To Version 7.0.100-1.22314.2
    
    * Update dependencies from https://github.com/dotnet/linker build 20220615.2
    
    Microsoft.NET.ILLink.Tasks
     From Version 7.0.100-1.22308.1 -> To Version 7.0.100-1.22315.2
    
    * Update dependencies from https://github.com/dotnet/linker build 20220616.2
    
    Microsoft.NET.ILLink.Tasks
     From Version 7.0.100-1.22308.1 -> To Version 7.0.100-1.22316.2
    
    * Update dependencies from https://github.com/dotnet/linker build 20220620.3
    
    Microsoft.NET.ILLink.Tasks
     From Version 7.0.100-1.22308.1 -> To Version 7.0.100-1.22320.3
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    3282677 View commit details
    Browse the repository at this point in the history
  7. [mono] Fix SpanHelpers.Reverse regression (dotnet#70650)

    * [mono] Fix SpanHelpers.Reverse regression
    
    SpanHelpers.Reverse was optimized recently using vectorized operations. However, the slow path (which is used by wasm for example) became slower. This change uses the old code pattern to reverse the array in non-vectorized scenario (or the rest of the array in the vectorized scenario). This is 2-3 times faster on wasm for example.
    
    * Mark method for inlining
    
    * Add check for minimum length
    
    This method can now be called with length 0
    BrzVlad authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    2a680c1 View commit details
    Browse the repository at this point in the history
  8. Mark simple.il and nested.il ilasm/ildasm roundtrip incompatible (dot…

    …net#71048)
    
    ildasm does not support precisely disassembling field RVAs.
    
    Fix dotnet#70876
    jakobbotsch authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    93f46d2 View commit details
    Browse the repository at this point in the history
  9. Make GC Stress 4/8 work with CET (dotnet#71085)

    * Make GC Stress 4/8 work with CET
    
    This change makes the GC stress 4/8 work without redirection. It also
    fixes a problem with missing unwinding of the shadow stack pointer
    that was not discovered before. I've found it while testing this
    change - it has manifested itself as a shadow stack overflow.
    
    And there is one more fix. The VSD Resolve stub was problematic to unwind
    through when null reference was passed as this to it. The stub had a push rdx
    as the first instruction and the dereference of this happened after that. So
    in case of the null, the call stack in the vectored exception handler contained
    a phantom frame caused by a problem unwinding from the stub. That
    caused incorrect updating of the shadow SP. I've fixed it by moving the dereference
    before the push.
    janvorli authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    305144e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    250e1b0 View commit details
    Browse the repository at this point in the history
  11. [main] Update dependencies from dotnet/xharness (dotnet#71051)

    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    c78fffd View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    1de38da View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    dbc7d8c View commit details
    Browse the repository at this point in the history
  14. Simplify and improve SocketAddress.Equals (dotnet#71090)

    Use SequenceEqual rather than an open-coded loop.
    stephentoub authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9b4f152 View commit details
    Browse the repository at this point in the history
  15. Enable TYP_STRUCT LCL_VAR/LCL_FLD call args on x86 (dotnet#70779)

    * Enable local struct args on x86
    SingleAccretion authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    604681a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    4dc676f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    51b904b View commit details
    Browse the repository at this point in the history
  18. Sort ConstrainedDirectCall cells (dotnet#71121)

    When a generic dictionary has multiple constrained calls, we would crash the compiler.
    
    I hit this in tests for dotnet#67745 but I want to separate this from the fix because that one is going to be quite a bit of code.
    MichalStrehovsky authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    202f0af View commit details
    Browse the repository at this point in the history
  19. Allow guessing canonical owning type instantiations (dotnet#71120)

    This essentially undoes dotnet/runtimelab#958. I think the underlying problem no longer exists because we now run generic virtual method analysis on top of canonical bodies.
    MichalStrehovsky authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    fc813dd View commit details
    Browse the repository at this point in the history
  20. Fix test failure in Apple OSs due to paths too long and using Ustar w…

    …hich does not support long paths. (dotnet#71115)
    
    Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
    carlossanlop and carlossanlop authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    7e46936 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    b1839d3 View commit details
    Browse the repository at this point in the history
  22. Implement Tar Global Extended Attributes API changes (dotnet#70869)

    * ref: Global Extended Attributes API changes
    
    * src: Global Extended Attributes API changes
    
    * tests: Verify Global Extended Attributes API changes
    
    * Address suggestions
    
    * Address debug suggestion.
    
    * Improve the decision of reducing the size of the GEA path.
    
    * Use Path.GetTempPath for the GEA path.
    
    * Rename field tracking GEA entry number.
    
    Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
    carlossanlop and carlossanlop authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    d3f7e01 View commit details
    Browse the repository at this point in the history
  23. Normalize Watson crash buckets between .NET Core/.NET Framework (dotn…

    …et#71107)
    
    The Watson crash bucket code gets the program app name and if greater than 32 characters is hashed and written as based 64 encoded string. This has been done ever since .NET Framework. There was a bug introduced in .NET Core when the long file name support has added that changed the GetCurrentModuleFileName util function from getting just the module name without the path on Framework to returning the full path name. This caused the app name to always be hashed and encoded as hex bytes.
    
    The fix was to parse off the path and just use the module name.
    
    Issue: dotnet#61580
    mikem8361 authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    1ef5515 View commit details
    Browse the repository at this point in the history
  24. [mono][debugger] Support new hot reload features from runtime (dotnet…

    …#70697)
    
    * Support new hotreload features on mobile devices.
    
    * Implementing support to add methods in hotreload on mobile devices
    
    * Only invalidate code when we really have some change.
    
    * Remove printf
    
    * add/remove extra lines in eof
    
    * Sharing string between the debugger and the managed get capabilities API
    thaystg authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    6212eab View commit details
    Browse the repository at this point in the history
  25. Bump Newtonsoft.Json in /src/installer/tests/TestUtils (dotnet#71142)

    Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 9.0.1 to 13.0.1.
    - [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
    - [Commits](JamesNK/Newtonsoft.Json@9.0.1...13.0.1)
    
    ---
    updated-dependencies:
    - dependency-name: Newtonsoft.Json
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    c9007c8 View commit details
    Browse the repository at this point in the history
  26. Print LARGEJMP instruction on ARM64 (dotnet#71094)

    emitter::emitDispIns supports printing LARGEJMP pseudo-instructions on
    ARM32, but not on ARM64. This method has been re-architected on ARM64
    to support printing LARGEJMP instructions on ARM64.
    Aman Khalid authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    c1d4494 View commit details
    Browse the repository at this point in the history
  27. Avoid delegate allocation in TraceSourceLoggerProvider.GetOrAddTraceS…

    …ource (dotnet#71134)
    
    Every call to GetOrAddTraceSource was allocating a new delegate instance.
    stephentoub authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    de078d1 View commit details
    Browse the repository at this point in the history
  28. JSON contract customization (dotnet#70435)

    * Initial implementation for contract customization
    
    fix build errors
    
    Move converter rooting to DefaultJsonTypeInfoResolver so that it can be used standalone
    
    Fix ConfigurationList.IsReadOnly
    
    Minor refactorings (dotnet#1)
    
    * Makes the following changes:
    
    * Move singleton initialization for DefaultTypeInfoResolver behind a static property.
    * Consolidate JsonSerializerContext & IJsonTypeInfoResolver values to a single field.
    * Move reflection fallback logic away from JsonSerializerContext and into JsonSerializerOptions
    
    * Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializerOptions.cs
    
    * remove testing of removed field
    
    Simplify the JsonTypeInfo.CreateObject implemenetation (dotnet#2)
    
    * Simplify the JsonTypeInfo.CreateObject implemenetation
    
    * Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Metadata/JsonTypeInfoOfT.cs
    
    * Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Metadata/JsonTypeInfoOfT.cs
    
    Co-authored-by: Krzysztof Wicher <mordotymoja@gmail.com>
    
    Co-authored-by: Krzysztof Wicher <mordotymoja@gmail.com>
    
    Tests and fixes for JsonTypeInfoKind.None
    
    TypeInfo type mismatch tests
    
    Allow setting NumberHandling on JsonTypeInfoKind.None
    
    test resolver returning wrong type of options
    
    JsonTypeInfo/JsonPropertyInfo mutability tests
    
    rename test file
    
    Move default converter rooting responsibility behind DefaultJsonTypeInfoResolver (dotnet#3)
    
    * Move default converter rooting responsibility behind DefaultJsonTypeInfoResolver
    
    * address feedback
    
    Add simple test for using JsonTypeInfo<T> with APIs directly taking it
    
    fix and tests for untyped/typed CreateObject
    
    uncomment test cases, remove todo
    
    More tests and tiny fixes
    
    Add a JsonTypeInfoResolver.Combine test for JsonSerializerContext (dotnet#4)
    
    * Fix JsonTypeInfoResolver.Combine for JsonSerializerContext
    
    * Break up failing test
    
    Fix simple scenarios for combining contexts (dotnet#6)
    
    * Fix simple scenarios for combining contexts
    
    * feedback
    
    JsonSerializerContext combine test with different camel casing
    
    Remove unneeded virtual calls & branching when accessing Get & Set delegates (dotnet#7)
    
    JsonPropertyInfo tests everything minus ShouldSerialize & NumberHandling
    
    Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.cs
    
    Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.cs
    
    throw InvalidOperationException rather than ArgumentNullException for source gen when PropertyInfo.Name is assigned through JsonPropertyInfoValues
    
    tests for duplicated property names and JsonPropertyInfo.NumberHandling
    
    Add tests for NumberHandling and failing tests for ShouldSerialize
    
    disable the failing test and add extra checks
    
    disable remainder of the failing ShouldSerialize tests, fix working one
    
    Fix ShouldSerialize and IgnoreCondition interop
    
    Add failing tests for CreateObject + parametrized constructors
    
    Fix CreateObject support for JsonConstructor types (dotnet#10)
    
    * Fix CreateObject support for JsonConstructor types
    
    * address feedback
    
    Make contexts more combinator friendly (dotnet#9)
    
    * Make contexts more combinator friendly
    
    * remove converter cache
    
    * redesign test to account for JsonConstructorAttribute
    
    * Combine unit tests
    
    * address feedback
    
    * Add acceptance tests for DataContract attributes & Specified pattern (dotnet#11)
    
    * Add private field serialization acceptance test (dotnet#13)
    
    * tests, PR feedback (dotnet#14)
    
    * PR feedback and extra tests
    
    * Shorten class name, remove incorrect check (not true for polimorphic cases)
    
    * Make parameter matching for custom properties map property Name with parameter (dotnet#16)
    
    * Test static initialization with JsonTypeInfo (dotnet#17)
    
    * Fix test failures and proper fix this time (dotnet#18)
    
    * Fix test failures and proper fix this time
    
    * reinstate ActiveIssueAttribute
    
    * PR feedback and adjust couple of tests which don't set TypeInfoResolver
    
    * fix IAsyncEnumerable tests
    
    * Lock JsonSerializerOptions in JsonTypeInfo.EnsureConfigured()
    
    Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
    
    Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
    krwq and eiriktsarpalis authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    897b2a3 View commit details
    Browse the repository at this point in the history
  29. JIT: Stop reordering arguments throwing distinct exceptions (dotnet#7…

    …0893)
    
    Implement a precise scan for arguments that may throw exceptions which
    collects the exceptions they may throw. When we see two such interfering
    sets, make sure that the first argument is evaluated to a temp so that
    they do not get reordered by the later sort.
    
    Fix dotnet#63905
    jakobbotsch authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    6258ee5 View commit details
    Browse the repository at this point in the history
  30. VM: Better strategy for TryReserveInitialMemory on arm64 (jump stubs) (

    …dotnet#70707)
    
    * Better strategy for ReserveInitialMemory on arm64
    
    * Clean up
    
    * Address feedback
    
    * fix "below" case
    
    * Address feedback
    
    * Update virtual.cpp
    
    * Apply suggestions from code review
    
    Co-authored-by: Jan Vorlicek <jan.vorlicek@volny.cz>
    
    * Address feedback
    
    * Fix defines
    
    * Remove env var
    
    * clean up
    
    * Clean up
    
    * Update virtual.h
    
    Co-authored-by: Jan Vorlicek <jan.vorlicek@volny.cz>
    EgorBo and janvorli authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    4388cc5 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    f20a046 View commit details
    Browse the repository at this point in the history
  32. Fix ILGenerator maxstack computation (dotnet#70388)

    * Fix ILGenerator maxstack computation
    
    When generating a dynamic method both with many unconditional jumps, the
    ILGenerator's computation of maxstack is way to large - it adds the max
    stack of each basic block ending with an unconditional transfer
    (br, ret, throw, etc). If the generated code has many such bbs
    (eg, from the "then" clauses of if-then-else constructs) this sum can
    overflow 2^16. When it does, the maxstack recorded/used is the computed
    value mod 2^16. When that is less than the correct value, the
    JIT throws an InvalidProgramException.
    
    Keep track of the stack depth at various positions and use it to
    calculate an adjustment to the depth.
    
    Fix dotnet#63805
    
    * Fix System.Linq.Expressions tests
    
    * Remove stack handling in MethodBuilder
    panguye authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f310367 View commit details
    Browse the repository at this point in the history
  33. Enable fake hot/cold splitting on ARM64 (dotnet#70708)

    This commit contains fixes for various bugs exposed by enabling fake
    hot/cold splitting on ARM64:
    - Branches between hot/cold sections are now always long.
    - The pseudoinstruction for loading a constant from the cold section
    did not support loading 16-byte data into vector registers, as it
    temporarily loaded the constant into an 8-byte integer register. Now,
    16-byte constants are loaded directly into vector registers via an
    `ld1` instruction.
    - Asserts/NYIs blocking hot/cold splitting on ARM64 have been removed.
    
    Fake hot/cold splitting requires we fake unwind info by treating each
    split function as one hot section. A more architecture-agnostic
    approach for this has been applied. To facilitate this approach, the
    fake-splitting implementation has been revised to place the hot
    and cold sections contiguously in memory (immediately followed
    by the read-only data section on ARM64).
    Aman Khalid authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    bc1a872 View commit details
    Browse the repository at this point in the history
  34. Simplify NtProcessInfoHelper.GetProcessShortName (dotnet#71136)

    The previous code was iterating character by character through the name, looking for the last occurrence of a slash and the last occurrence of a period.  For the slash, we can just LasIndexOfAny.  For the period, it was only doing this in order to trim off ".exe" if a period was found and the text at that point was ".exe"... so we can just compare the end with ".exe".
    stephentoub authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9d3f060 View commit details
    Browse the repository at this point in the history
  35. Exposing AcosPi, AsinPi, Atan2Pi, AtanPi, CosPi, SinPi, and TanPi for…

    … ITrigonometricFunctions (dotnet#71033)
    
    * Exposing AcosPi, AsinPi, Atan2Pi, AtanPi, CosPi, SinPi, and TanPi for ITrigonometricFunctions
    
    * Adding tests for AcosPi, AsinPi, Atan2Pi, AtanPi, CosPi, SinPi, and TanPi
    
    * Fixing the handling of AcosPi, AsinPi, and AtanPi tests on WASM/Unix
    tannergooding authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    0855da7 View commit details
    Browse the repository at this point in the history
  36. Add tests for IMallocSpy (dotnet#71106)

    * Add tests for IMallocSpy
    AaronRobinsonMSFT authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    b02729b View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    78a2627 View commit details
    Browse the repository at this point in the history
  38. Make RateLimitPartition.Factory public (dotnet#71145)

    * Make RateLimitPartition.Factory public
    
    * Fix tests
    
    * Fix comment
    wtgodbe authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9bb393c View commit details
    Browse the repository at this point in the history
  39. Bump Newtonsoft.Json from 9.0.1 to 13.0.1 in /src/tests/ilverify (dot…

    …net#71141)
    
    Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 9.0.1 to 13.0.1.
    - [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
    - [Commits](JamesNK/Newtonsoft.Json@9.0.1...13.0.1)
    
    ---
    updated-dependencies:
    - dependency-name: Newtonsoft.Json
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    53cfcf3 View commit details
    Browse the repository at this point in the history
  40. [iOS][Android] Fix crash in Exception.CaptureDispatchState (dotnet#70970

    )
    
    There is a crash in `Exception.CaptureDispatchState` when called from one thread at the same time another calls into `Exception.RestoreDispatchState`. The reason for the crash is due to the way we do not update `foreignExceptionFrames` in a thread-safe way.  `foreignExceptionFrames` is used in both methods and can crash when the size changes before the array is copied.
    
    The fix copies `foreignExceptionFrame` into a local variable in `CaptureDispatchState`
    
    Fixes dotnet#70081
    steveisok authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9b6ce5c View commit details
    Browse the repository at this point in the history
  41. Fix the heuristics for L3 cache size for Arm64 (dotnet#71029)

    * Get cacheLevel for unix
    
    * Get cacheLevel for windows
    
    * Get cacheLevel for os
    
    * add the macro CHECK_CACHE_SIZE
    
    * fix multiplier
    
    * Review comments
    
    * Fix linux arm64 build
    
    * Change from std:string to char[]
    
    * minor nit
    
    * opps should be outside the loop
    
    * Replace assert with _ASSERTE
    
    * CHECK_CACHE_SIZE -> UPDATE_CACHE_SIZE_AND_LEVEL
    
    * Use GetTotalProcessorCount for windows
    kunalspathak authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    08c0ea1 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    ccf1257 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    315e931 View commit details
    Browse the repository at this point in the history
  44. [LibraryImportGenerator] Basic stateless value marshaller support (do…

    …tnet#71116)
    
    - Separate out previous custom marshalling support into _V1 classes
    - Add basic support for new stateless marshaller shape for values
    
    This only adds really basic support for stateless value marshalling. It doesn't deal with support for caller-allocated buffer, pinning, guaranteed unmarshal, or linear collection marshalling.
    elinor-fung authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    f4cf69e View commit details
    Browse the repository at this point in the history
  45. NextObj fix (dotnet#71113)

    this is to fix dotnet#70231.
    
    for regions we could run into this situation -
    
    object is the last object before heap_segment_allocated (hs)
    T0 calls NextObj, gets next obj which starts at heap_segment_allocated (hs)
    T1 changes ephemeral_heap_segment to hs
    T0 does these comparisons
            (nextobj >= heap_segment_allocated(hs) && hs != hp->ephemeral_heap_segment) ||
            (nextobj >= hp->alloc_allocated))
    both still false because alloc_allocated hasn't been changed just yet (and the old alloc_allocated is larger than nextobj)
    
    T0 validates next obj, concludes its m_alignpad is not 0, asserts
    
    T1 forms an allocation context starting at heap_segment_allocated, clears memory so by the time the dump is taken, m_alignpad is already cleared (actually we clear it in a_fit_segment_end)
    
    I'm fixing this by saving the ephemeral_heap_segment and alloc_allocated and bail if nextobj is not on the saved eph seg or if those 2 saved values are no long in sync.
    Maoni0 authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    9616b57 View commit details
    Browse the repository at this point in the history
  46. Fix for issue 70385 (stack overflow in the CoreCLR runtime during SVM…

    … validation) (dotnet#71135)
    
    * Regression test for recursive generics causing runtime stack overflow
    
    * Adjust load levels in SVM validation to prevent infinite recursion
    
    * Fix C# source code per hez2010's PR feedback
    
    * Address David's PR feedback
    
    * Fix TryResolveVirtualStaticMethodOnThisType per David's feedback
    trylek authored Jun 22, 2022
    Configuration menu
    Copy the full SHA
    df3bd55 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2022

  1. Fix Tar timestamp conversion from/to string and DateTimeOffset (dotne…

    …t#71038)
    
    * Change double to decimal in timestamp conversions to preserve precision
    
    * Re-enable disabled test
    
    * Adjust assert message
    
    * Reuse FileSystemInfo Last*TimeUtc fields, use implicit cast operator to store as DateTimeOffset.
    
    * Fix using wrong fieldname for ctime.
    
    * Using 'G' for decimal to string conversion. Adjust test to not require a dot. The DateTimeOffset comparison done afterwards should suffice.
    
    * Ensure timestamps are converted to long, not int.
    
    * Add Epochalypse and Past-octal-limit timestamp tests
    
    * TarHelpers methods can be private
    
    * Remove unreachable code for adding ctime and atime before writing Pax entry. Add tests to ensure we always add those entries to the dictionary on construction.
    
    * Fix typo in test when retrieving ctime.
    
    * Make sure CTime adds nanoseconds on Unix when retrieving info from disk.
    
    Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
    carlossanlop and carlossanlop authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    70e9ca0 View commit details
    Browse the repository at this point in the history
  2. Use IndexOfAny in HttpListener.HandleAuthentication (dotnet#71137)

    * Use IndexOfAny in HttpListener.HandleAuthentication
    
    Just cleaning up a manual loop that can instead be IndexOfAny.
    
    * Fix missing check
    stephentoub authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    982946a View commit details
    Browse the repository at this point in the history
  3. Change SString::GetUTF8NoConvert to GetUTF8 that converts the SString (

    …dotnet#71101)
    
    * Change SString::GetUTF8NoConvert to GetUTF8 that converts the SString
    
    This enables SString to get out of the UTF16 state and helps move us away from "SString's natural encoding is UTF16"
    
    * Remove some stack scratch buffers that are unneeded now (as we can now convert the SString itself and in some cases it was already in UTF8) and implement PR feedback.
    
    * Add SetAndConvertToUTF8 method and remove the GetUTF8 method variants with a scratch buffer.
    
    * Remove unneeded variables.
    
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    
    Co-authored-by: Aaron Robinson <arobins@microsoft.com>
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    3 people authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    d17741d View commit details
    Browse the repository at this point in the history
  4. JIT: arm64 osr funclet frame probing (dotnet#70916)

    We currently need to pad OSR funclet frames with the full size of the
    Tier0 frame, and this paddign sits above the register save area. For
    large Tier0 frames we thus need to probe the stack in the OSR prolog
    for type 1, 3, and 5 frames, before doing the initial SP adjustment and
    save.
    
    Longer term the plan is to revise arm64 OSR so we will not need to
    do this padding; at that point we can remove this extra probing.
    
    Fixes dotnet#70263.
    AndyAyersMS authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    95d64e8 View commit details
    Browse the repository at this point in the history
  5. Mirror Microsoft.Diagnostics.NETCore.Client (dotnet#71139)

    Microsoft.Diagnostics.NETCore.Client change to allow future branches to build correctly in runtimelab
    hoyosjs authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    70df1f5 View commit details
    Browse the repository at this point in the history
  6. Update design docs to reflect our new marshaller design from partner …

    …feedback (dotnet#71017)
    
    Co-authored-by: Aaron Robinson <arobins@microsoft.com>
    Co-authored-by: Elinor Fung <elfung@microsoft.com>
    3 people authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    9e8c7a8 View commit details
    Browse the repository at this point in the history
  7. Implement UnixFileMode APIs (dotnet#69980)

    * Implement UnixFileMode APIs on Unix.
    
    * Throw PNSE on Windows, add UnsupportedOSPlatform.
    
    * Fix API compat issue.
    
    * Borrow a few things from SafeFileHandle API PR to this compiles.
    
    * Fix System.IO.FileSystem.AccessControl compilation.
    
    * Add xml docs.
    
    * Replace Interop.Sys.Permissions to System.IO.UnixFileMode.
    
    * Throw PNSE immediately on Windows.
    
    * Add ODE to xml docs of methods that accept a handle.
    
    * Don't throw (PNSE) from FileSystemInfo.UnixFileMode getter on Windows.
    
    * Minor style fix.
    
    * Get rid of some casts.
    
    Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
    
    * Add tests for creating a file/directory with UnixFileMode.
    
    * Some CI envs don't have a umask exe, try retrieving via a shell builtin.
    
    * Update expected test mode values.
    
    * Fix OSX
    
    * Fix Windows build.
    
    * Add ArgumentException tests.
    
    * Fix Windows build.
    
    * Add get/set tests.
    
    * Update test for Windows.
    
    * Make setters target link instead of link target.
    
    * Linux: fix SetUnixFileMode
    
    * Fix OSX compilation.
    
    * Try make all tests pass in CI.
    
    * For link, operate on target permissions.
    
    * Skip tests on Browser.
    
    * Add tests for 'Get' that doesn't use a 'Set' first.
    
    * Don't perform exist check for handles.
    
    * Fix Get test for wasm.
    
    * Review xml comments.
    
    * Add comment to test.
    
    * GetUnixFileMode for handle won't throw UnauthorizedAccessException.
    
    * Apply suggestions from code review
    
    Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
    
    * PR feedback.
    
    * Update enum doc to say 'owner' instead of 'user'.
    
    * Use UnixFileMode in library.
    
    * Use UnixFileMode in library tests.
    
    * Fix Windows build.
    
    * Fix missing FileAccess when changing to FileStreamOptions API.
    
    * PR feedback.
    
    * Fix Argument_InvalidUnixCreateMode message.
    
    Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
    
    Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
    Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
    3 people authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    ddc4f95 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a73c582 View commit details
    Browse the repository at this point in the history
  9. [NativeAOT] Enable dynamic linking of ucrt for release runtime (dotne…

    …t#71182)
    
    This is enabled for release runtime only, same as how we do it for regular CoreCLR builds.
    jkotas authored Jun 23, 2022
    Configuration menu
    Copy the full SHA
    05ae801 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    af9b7e7 View commit details
    Browse the repository at this point in the history
  11. Fix Unix test failures.

    tmds committed Jun 23, 2022
    Configuration menu
    Copy the full SHA
    edf948e View commit details
    Browse the repository at this point in the history