Merged
Conversation
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…/WriteAllLinesAsync (#98612)
Remove the C code responsible for generating the backward_branch_offsets table stored in InterpMethod that was used by the jiterpreter. Add a new pre-pass to the jiterpreter that does a quick opcode scan to find back-branch targets on the fly when a trace is actually being compiled. Reimplement interpreter branch decoding in a central place in the jiterpreter, and generalize it based on opcode info tables instead of a bunch of hand-written decode logic. Remove some dead options and dead code from the jiterpreter typescript. Fix an enum that got out of sync. Minor debug logging improvements.
Similar to debian-based distros, make it convenient for someone trying
to use slim alpine image for non-x64 architectures (without
cross-compilation). e.g. for arm64:
```sh
$ docker run --rm -v$(pwd):/runtime -w /runtime \
--platform linux/arm64 -it alpine \
sh -c 'eng/install-native-dependencies.sh && ./build.sh'
```
* Update dependencies from https://github.com/dotnet/runtime build 20240215.1 Microsoft.DotNet.ILCompiler , Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Reflection.Metadata , System.Reflection.MetadataLoadContext , System.Text.Json , Microsoft.SourceBuild.Intermediate.runtime.linux-x64 From Version 9.0.0-preview.2.24111.9 -> To Version 9.0.0-preview.2.24115.1 * Update dependencies from https://github.com/dotnet/runtime build 20240215.1 Microsoft.DotNet.ILCompiler , Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Reflection.Metadata , System.Reflection.MetadataLoadContext , System.Text.Json , Microsoft.SourceBuild.Intermediate.runtime.linux-x64 From Version 9.0.0-preview.2.24111.9 -> To Version 9.0.0-preview.2.24115.1 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Marek Fišera <mara@neptuo.com>
#98563) Part of #93020. This is a first step in a broader effort to replace BasicBlock's jump targets (bbTarget, bbFalseTarget, etc.) with successor flow edges. This PR also adds overloaded implementations for commonly used edge maintenance methods (fgReplacePred, fgRemoveRefPred, etc.) that can take advantage of the cheap access to successor edges (i.e. without calling fgGetPredForBlock -- hopefully we'll be able to get rid of that at some point).
* Prevent incorrect constant folding of binary operations involving handle and integer * Fix the conditions for null nodes * Fix the last commit for non-GT/GE/LT/LE * Make JIT format happy * More conservative approach. Limit only arithmetic operations involving handles in a relocatable code.
* Alternative fix for ARM64 signed small type cmpxchg without LSE Better fix for #97839. * Update importercalls.cpp * Update importercalls.cpp * Add comment
* Remove unnecessary assertion It fired a false positive when W^X was enabled * Use uint32 write instead of memcpy to be faster There shouldn't be a problem when we introduce compressed instructions, VF2 supports unaligned stores (sw) Also, replace compile-time conditions with static_asserts. * Bring back memcpy because plain RV64 ISA allows trapping on misaligned load/stores
…oj (#98674) It is not used.
* Fix bug in arm64 LazyMachState unwindFix bug in arm64 LazyMachStateunwind When we were enabling the mac M1 couple of years ago, a bug has creeped in that causes a race in lazy machine state unwinding. The LazyMachState::setLazyStateFromUnwind was incorrectly modifying the captured state, so in case multiple threads were racing for the unwind, a thread that came at a time when part of the captured state was modified and before the `_isValid` was set would start unwinding from a wrong state (the partial unwound one), effectively unwinding twice. I've hit this in CI for enabling the new exception handling, as it results in an assert when comparing the resulting address of the floating point registers unwind with the mach state. * Proper fix for macOS arm64 * Add comment on why Apple is different Also unify code for Windows / Linux since the ptrX19_X29 never contain null pointer on those platforms. They are initialized to point to the captureX19_X29. So the conditional code that has the null check doesn't make sense on Linux.
…ype (#98597) * Do not generate relocations within .debug_info for DW_AT_type * Fix WriteInfoAbsReference
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )