8000 Comparing 8d3b24598a...57ed25449a · dotnet/runtime · GitHub
[go: up one dir, main page]

Skip to content
Permalink

Comparing changes

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

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dotnet/runtime
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 8d3b24598a
Choose a base ref
...
head repository: dotnet/runtime
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 57ed25449a
Choose a head ref
  • 15 commits
  • 57 files changed
  • 15 contributors

Commits on Feb 21, 2025

  1. [android][coreclr] Make coreclr build specify HOST_ANDROID and incl…

    …ude Android logging APIs (#112677)
    
    - Define `HOST_ANDROID` for coreclr builds and link to Android logging APIs
    - Make `jitprintf` use [Android logging APIs](https://developer.android.com/ndk/reference/group/logging) if printing to stdout
      - This allows us to get [JIT disassembly output](https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/jit/viewing-jit-dumps.md#disassembly-output) via logcat
    elinor-fung authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    69facbc View commit details
    Browse the repository at this point in the history
  2. Clarify comments for ClrRestoreNonvolatileContextWorker. (#112758)

    * Clarify comments for `ClrRestoreNonvolatileContextWorker`.
    
    ---------
    
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    anthonycanino and jkotas authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    0517b16 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    51316c2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    24b8f3c View commit details
    Browse the repository at this point in the history
  5. Fix stack overflow condition when appending modifiers to resolver cha…

    …ins. (#112737)
    
    * Fix stack overflow condition when appending modifiers to resolver chains.
    
    * Reinstate accidentally deleted test.
    eiriktsarpalis authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    488b948 View commit details
    Browse the repository at this point in the history
  6. Coretestlib: Add information of parent process id during test failure…

    … for Windows (#112724)
    
    * Print process and parent process using wmic
    
    * Do it for windows only
    kunalspathak authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    c1fe87a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    85b2455 View commit details
    Browse the repository at this point in the history
  8. Use pooled Utf8JsonWriter when doing sync streaming serialization. (#…

    …112745)
    
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    eiriktsarpalis and stephentoub authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    6e3e193 View commit details
    Browse the repository at this point in the history
  9. [main] Update dependencies from dotnet/cecil, dotnet/hotreload-utils,…

    … dotnet/icu, dotnet/runtime-assets (#112624)
    
    * Update dependencies from https://github.com/dotnet/hotreload-utils build 20250210.1
    
    Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
     From Version 10.0.0-alpha.0.25103.1 -> To Version 10.0.0-alpha.0.25110.1
    
    * Update dependencies from https://github.com/dotnet/cecil build 20250209.3
    
    Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
     From Version 0.11.5-alpha.25078.1 -> To Version 0.11.5-alpha.25109.3
    
    * Update dependencies from https://github.com/dotnet/icu build 20250216.1
    
    Microsoft.NETCore.Runtime.ICU.Transport
     From Version 10.0.0-preview.2.25109.1 -> To Version 10.0.0-preview.2.25116.1
    
    * Update dependencies from https://github.com/dotnet/runtime-assets build 20250217.1
    
    Microsoft.DotNet.CilStrip.Sources , Microsoft.NET.HostModel.TestData , System.ComponentModel.TypeConverter.TestData , System.Data.Common.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 10.0.0-beta.25110.1 -> To Version 10.0.0-beta.25117.1
    
    * Update dependencies from https://github.com/dotnet/icu build 20250219.1
    
    Microsoft.NETCore.Runtime.ICU.Transport
     From Version 10.0.0-preview.2.25109.1 -> To Version 10.0.0-preview.3.25119.1
    
    * Update dependencies from https://github.com/dotnet/runtime-assets build 20250220.1
    
    Microsoft.DotNet.CilStrip.Sources , Microsoft.NET.HostModel.TestData , System.ComponentModel.TypeConverter.TestData , System.Data.Common.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 10.0.0-beta.25110.1 -> To Version 10.0.0-beta.25120.1
    
    ---------
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    09e29b6 View commit details
    Browse the repository at this point in the history
  10. [main] Update dependencies from dotnet/emsdk (#112682)

    * Update dependencies from https://github.com/dotnet/emsdk build 20250218.1
    
    Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100.Transport , Microsoft.SourceBuild.Intermediate.emsdk
     From Version 10.0.0-preview.2.25117.1 -> To Version 10.0.0-preview.2.25118.1
    
    * Update dependencies from https://github.com/dotnet/emsdk build 20250219.2
    
    Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100.Transport , Microsoft.SourceBuild.Intermediate.emsdk
     From Version 10.0.0-preview.2.25117.1 -> To Version 10.0.0-preview.3.25119.2
    
    Dependency coherency updates
    
    runtime.linux-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport,runtime.linux-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport,runtime.osx-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport,runtime.osx-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport,runtime.win-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport,runtime.win-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport
     From Version 10.0.0-alpha.1.25110.1 -> To Version 10.0.0-alpha.1.25116.1 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100.Transport
    
    ---------
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    Co-authored-by: Larry Ewing <lewing@microsoft.com>
    3 people authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    36fb5c9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    931d75f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9e94b77 View commit details
    Browse the repository at this point in the history
  13. JIT: Run profile repair after frontend phases (#111915)

    Part of #107749. Introduce a repair phase that runs profile synthesis if the profile was marked inconsistent at some point, and call it at the end of the JIT frontend. LSRA and block layout are likely to benefit from profile consistency, and this is late enough in the JIT that the sources of diffs should be relatively obvious.
    amanasifkhalid authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    ea43e17 View commit details
    Browse the repository at this point in the history
  14. JIT: Read back parameter register replacements eagerly (#112501)

    Have physical promotion read replacements that map to parameter
    registers back eagerly in the entry basic block. Reading these back
    initially makes it more likely that the backend will be able to
    substitute directly for registers.
    jakobbotsch authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    1eadeff View commit details
    Browse the repository at this point in the history
  15. CoreCLR interpreter basic compilation and execution (#112369)

    * Interpreter wire up
    
    This commit adds a new library for the interpreter. This library is meant to be used as an alt jit compiler, exporting the `getJit` method that returns an interface for method compilation. This library also exports the `getInterpreter` method that returns a separate interface to be used for obtaining any other data from the interpreter library. Method compilation has the following responsability:
            - create an InterpMethod* for the MethodDesc that it flags as compiled. On mono, InterpMethod serves as reference to the method to be called (which is embedded throughout the code) and later on, following compilation, it is filled with additional information relevant for execution, mainly the code pointer and size of the frame. On CoreCLR, this structure will likely lose some of its relevance, we will end up referencing MethodDesc's directly in interpreter instructions. In the future, it will probably make more sense to have a few common fields of the InterpMethod (like the frame size) stored as a code header to the interpreter IR, with a InterpMethod pointer to be stored as well in the code header for less frequent data.
            - set the CORINFO_FLG_INTERPRETER flag in the MethodDesc. This sets up the method to be called through the InterpreterStub.
            - some dummy data that is necessary by the runtime is being generated, mainly the code
    
    The interpreter execution is included in the main coreclr library for convenience and speed. It will be contained in interpexec.h and interpexec.cpp while also including the interpretershared.h header from the interpreter library. This header will contain any defines and types that are relevant both during compilation as well as execution (for example the InterpMethod data or the opcode values). For the execution, InterpFrame is a structure on the native stack that is created for each interpreter frame. It will reference the method being executed as well as pointers to the interpreter stack. InterpThreadContext is a thread local structure that contains execution relevant information for the interpreter, for now it just maintains the position of the interpreter stack pointer.
    
    * Add support for compilation and execution of a simple method
    
    This commit ports over some of the compilation machinery from mono. Method compilation takes place in GenerateCode. It allocates a basic block, goes over the IL code and emits code as it goes, while updating the IL stack state. Method code is kept as a linked list of basic blocks. Each basic block keeps a linked list of instructions. The instruction information is represented by an opcode, source and destination vars and additional instruction data. Once the IL code is imported, the var offset allocator needs to kick in in order to allocate an offset for each variable referenced in the code. Once offsets are allocated the final interpreter IR can be generated, writing the opcode and instruction data linearly in the code, while replacing variable indexes with the actual variable offset.
    
    Unlike the mono interpreter, that maintains the code as an uint16_t stream, we chose to use from the start an int32_t based stream. The mono interpreter runs into limitations when executing very large methods, where some offsets don't fit in the uint16_t space. There will be a performance penalty for this that will be addressed in the distant future, by adding short versions for common opcodes.
    
    * Add interpreter test
    
    The test contains one application that contains a method named `RunInterpreterTests` serving as the interpreter entry point. This application is built only, as it is not the test itself. This application is executed with corerun by the actual test, which waits for the corerun exit code to determine success.
    
    * Stop using a mapping table between MethodDesc and InterpMethod
    
    InterpMethod* is used to handle interpreted method execution on mono, but it is not really needed. For CoreCLR we will turn this structure in a header to the compiled IR code, and identify other methods directly by the IR code pointer. The first pointer slot in the IR code will contain a pointer to the InterpMethod containing any other relevant information needed in the method execution.
    BrzVlad authored Feb 21, 2025
    Configuration menu
    Copy the full SHA
    57ed254 View commit details
    Browse the repository at this point in the history
Loading
0