Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
src/jit/codegenarm.cpp (#321)
|
|
Signed-off-by: Timur <t-mustafin@partner.samsung.com>
|
|
images
|
|
This method allows to create minimal coredump (as createdump does) of a
process that is in dumping state after crash.
|
|
We experience CLR crash on some architectures (at least on x86) in case
of unhandled managed exception. libunwind steps to the very end of a
stack, and if .eh_frame info is correct, it returns with retcode 0 and
ip=0 from unw_step, then PAL calls unw_is_signal_frame with
c->validate==0 which in turn dereferences zeroed ip in access_mem.
libunwind spec says that retcode 0 from unw_step means very end of a
stack, so PAL should not expect any frames, signal or not. It should
convert cursor back to SEH representation and return with TRUE.
corresponding PR to dotnet/runtime on upstream:
https://github.com/dotnet/runtime/pull/42620
|
|
This reverts commit c4a72f57bee753daf09ffbc2a2dfe65ed1582919.
|
|
FNV images
|
|
* Add -msse2 compile option
Cherry-pick of https://github.com/dotnet/runtime/pull/33135
* Use prefixed hex format in asm
Cherry-pick of https://github.com/dotnet/runtime/pull/33205
* [Tizen] Add CoreCLR tests build dependencies v3.1.3 for x86
* [Tizen] Add CoreCLR tests build dependencies v3.1.3 for x64
* [Tizen] Allow build of tests for x86/x64
|
|
Stop recognizing Vector256<T> types as intrinsic for ARM64 in Crossgen2.
Signed-off-by: Timur <t-mustafin@partner.samsung.com>
|
|
(dotnet/coreclr#26460)
* Split genProfilingEnterCallback and genProfilingLeaveCallback into architecture specific versions
* Remove redundant genStackLevel save/restore logic on Arm, Arm64, Amd64
* Implement JIT_ProfilerEnterLeaveTailcallStub in assembly
* Define RBM_PROFILER_{ENTER,LEAVE,TAILCALL}_TRASH for TARGET_ARM64
* Define REG_PROFILER_{ENTER,LEAVE}_ARG_FUNC_ID and RBM_PROFILER_{ENTER,LEAVE}_ARG_CALLER_SP
* Simplify r0Trashed logic in src/jit/codegenarm.cpp
* Remove wrong comment in src/jit/codegenarm.cpp
* On Arm genPrologPadForReJit does nothing so remove it in src/jit/codegenarm.cpp
* Implement LinearScan::BuildNode for GT_PROF_HOOK and GT_RETURN in src/jit/lsraarm64.cpp
* Shouldn't a call to CORINFO_HELP_PROF_FCN_TAILCALL be marked as a No-GC?
* Implement genProfilingEnterCallback genProfilingLeaveCallback in src/jit/codegenarm64.cpp
* Implement NYI profiler methods in src/vm/arm64/profiler.cpp
* Implement ProfileEnterNaked ProfileLeaveNaked ProfileTailcallNaked in src/vm/arm64/asmhelpers.S
* Implement profiler helpers on win-arm64
* Remove logic for !FINAL_FRAME_LAYOUT in codegenarm64.cpp
* Remove unused macro in src\jit\target.h
* genProfilingLeaveCallback ignores helper on arm in src\jit\codegenarm.cpp
* Refactor genProfilingLeaveCallback in src\jit\codegenarm.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/d88bc184d054fe8e4915964330ca65378d59ef27
|
|
Signed-off-by: Timur <t.mustafin@partner.samsung.com>
|
|
Signed-off-by: Timur <t.mustafin@partner.samsung.com>
|
|
To build tests for armel/arm64 add: --define 'skiptests 0'
|
|
This is required to workaround rpmbuild issue (rpmbuild tries to get debug symbols from these dlls)
|
|
This is required for portable build of managed part of tests. To cross build CLR for tizen use -portablebuild=false.
|
|
|
|
This allows to perform build for different arches in the same repository
|
|
Partial cherry-pick of https://github.com/dotnet/coreclr/pull/27633
|
|
for stress testing
|
|
|
|
initialized
|
|
|
|
|
|
|
|
- CLRTest.CrossGen.targets is used as a template for crossgen part of individual test script
- runtest.sh is used for launching tests
|
|
|
|
|
|
|
|
indirection
|
|
|
|
|
|
|
|
|
|
Change-Id: I663d0fcdcd6fd8fb4c521d9bdbb4d234c96022ae
|
|
Simple HelloWorld app can run with NI of System.Private.CoreLib.dll, HelloWorld.dll and System.Console.dll
|
|
* Fix TPA map hash calculation.
The point of issue is "the Turkish-I Problem". After locale changed, towupper() provide another result for "i" and different hash are calculated in case if file name have "i" letter.
* Regression test for #37910
|
|
|
|
This patch enables more generic method inlining for methods which are not compiled by NI.
|
|
|
|
|
|
|
|
to fix arm64 build on tizen (on armel non-portable build is default, tizen rid in general is non-portable).
|
|
Cherrypick only test parts of below patches in public dotnet/runtime github
- be8e050a6d27040d6c249382d99d57d973e919b2 Implement instantiating and unboxing through portable stublinker code… (#106)
- 0e949491faee53d2a7ad4d5649be17e98e5d3a96 Some minor ABI stress improvements
- 3f339687a8151e989bbb4673aab9b0abcddf5642 Mark emitted types assembly as collectible in ABI stress (dotnet/coreclr#26253)
- a25dd1a45b6fdad114ffaa915550906c986aa1ca Remove redundant ABI stress tests (dotnet/coreclr#26183)
- 57945676a6395da61b61ce427a055e77d330db86 Fix GenerateShuffleArray to support cyclic shuffles (dotnet/coreclr#26169)
- 3b0ba1ee24823030a3fc7278dd064d24a49a90bb Add ABI stress tests (dotnet/coreclr#26090)
|
|
* Implement instantiating and unboxing through portable stublinker code
- Handle only the cases with register to register moves
- Shares abi processing logic with delegate shuffle thunk creation
- Architecture specific logic is relatively simple
- Do not permit use of HELPERREG in computed instantiating stubs
- Fix GetArgLoc such that it works on all architectures and OS combinations
Add a JIT stress test case for testing all of the various combinations
- Use the same calling convention test architecture that was used as part of tail call work
Rename secure delegates to wrapper delegates
- Secure delegates are no longer a feature of the runtime
- But the wrapper delegate lives on as a workaround for a weird detail of the ARM32 abi
|
|
* Fix GenerateShuffleArray to support cyclic shuffles
The GenerateShuffleArray was not handling case when there was a cycle in
the register / stack slots shuffle and it resulted in an infinite loop
in this function. This issue is Unix Amd64 ABI specific.
To fix that, this change reworks the algorithm completely. Besides
fixing the issue, it has also better performance in some cases.
To fix the cyclic shuffling, I needed an extra helper register. However,
there was no available general purpose register available, so I had to
use xmm8 for this purpose.
* Remove special handling of the hang from ABI stress
|
|
In case of evaluation with implicit function call aborted by ```ICorDebugEval::Abort()```, CoreCLR crash with SIGSEGV at line https://github.com/dotnet/runtime/blob/e25517ea27311297c1e3946acb3b4382d5fa7fef/src/coreclr/src/vm/jitinterface.cpp#L14293 since ```m_pJM``` is ```NULL```.
This happens because during ```EECodeInfo::Init()``` call, ```codeAddress``` parameter provide address inside native code region (this address belong to CallDescrWorkerInternal(), libcoreclr.so), but not address inside managed code, so, ```ExecutionManager::FindCodeRange()``` can't find appropriate ```RangeSection```.
During investigation I found, that at line https://github.com/dotnet/runtime/blob/e25517ea27311297c1e3946acb3b4382d5fa7fef/src/coreclr/src/vm/stackwalk.cpp#L2584 current context was not changed properly (we have wrong ```Eip``` register value).
I found, that ```FuncEvalFrame::UpdateRegDisplay()``` code
https://github.com/dotnet/runtime/blob/e25517ea27311297c1e3946acb3b4382d5fa7fef/src/coreclr/src/debug/ee/debugger.inl#L238-L247
don't have x86/Linux support implemented.
I propose changes, that were already made for other ```UpdateRegDisplay()``` implementations in order to provide proper context for x86/Linux.
|
|
Turn on ASan inteceptors while marshaling managed buffers to native code.
We could not properly annotate already allocated on heap buffers, so
we have to disable pinning of such objects.
Current patch affects only pinning of native arrays.
|
|
Change-Id: I032c9ff1e0f43e39d0d05a38eb95dabe2f1b6b25
|
|
|