Age | Commit message (Collapse) | Author | Files | Lines |
|
FNV images
|
|
(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
|
|
Simple HelloWorld app can run with NI of System.Private.CoreLib.dll, HelloWorld.dll and System.Console.dll
|
|
|
|
Fix OnHijackTripThread.
Re-enable the mandelbrot-7 test.
Fix #24224
|
|
There were two issues:
* the cross/toolchain.cmake was unconditionally setting the linker to ld.gold.
This is not wanted in general and the ld.gold cannot link arm64 MUSL stuff
correctly (it leaves a couple of TLS symbols as undefined)
* the src/vm/arm64/asmhelpers.S was referencing a global variable using absolute
relocation, which is not allowed in shared libraries on MUSL based Linux distros.
|
|
* Preserve Vector Arg registers on Arm64
Fix #14371
|
|
|
|
* Remove AppDomain unload
This change removes all code in AppDomain that's related to AppDomain
unloading which is obsolete in CoreCLR. It also removes all calls to the
removed methods.
In few places, I have made the change simpler by taking into account the
fact that there is always just one AppDomain.
|
|
|
|
|
|
- Fix #ifdef in StubManagerHelpers::StubGetSecondArg that erroneously referred to TARGET_ARM instead of TARGET_ARM64
- Add condition in StubManagerHelpers::GetTailCallTarget to refer to X12 as is used by the various helpers that can pause in the midst of stepping
- Fix StubDispatchFixupStub to use X12 as tail call register instead of X9 to match the other tail-calling stubs
|
|
The code was incorrectly using signed conditions, which doesn't work for
server GC where the high ephemeral limit is 0xffffffffffffffff and so it
was checking if the address is less than -1, which is never the case. So
the card table was never updated.
|
|
|
|
[Arm64] Optimize JIT_WriteBarriers
|
|
|
|
Fixes #5833
Fixes #11374
Fixes #12197
|
|
|
|
This reverts commit b5914c8d1b20be898b8982a4dfcf9d8e9046b2ec.
|
|
* [Arm64] JIT_WriteBarrier optimization
Add skipEphemeralCheck if gcServer=1
Copy all gc parameters into a literal pool which
fits in single cache line
Add dmb ishst on gcHeap changes
Reduce unpredictable branches
Remove unneeded instructiuons
Fixes #11374
Fixes #12197
* [Arm64] fix typo in asm
* Fixup asm
* [Arm64] Revise per comments
Nits - Whitespace, Labels to PascalCase
Fix state change order
Add Suspend/Resume to fix race
Fix errors in Windows arm64 assembly
* [Arm64] Remove SuspendEE/RestartEE in StompWriteBarrierResize
* Use Volatile<> for g_highest_address
* Revise synchronization per comments
|
|
|
|
|
|
* [Arm64/Unix] Enable FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP
* [Arm64/Unix] Enable FEATURE_MANUALLY_MANAGED_CARD_BUNDLES
|
|
* [Arm64] Fix assembly errors
* [Arm64] Static use ldrb w2, [x2, w1, UXTW]
* Revert changes to src/vm/arm64/asmhelpers.asm
|
|
(#10912)
|
|
This restore the functionality lost by #9866 w/o functional
loss
|
|
This change removes NakedThrowHelper function for Unix since it was not used.
It also ifdefs out its upstream callers.
|
|
|
|
* [Arm64/Unix] Update arm64 *.S files to match *.asm
* [Arm64/Unix] Fix CONTEXTToNativeContext()
* [Arm64/Unix] ThrowExceptionFromContextInternal
* [Arm64/Unix] Preserve x8 argument register
* [ARM64/Unix] Add CFI directives
Add native unwind info
* [Arm64/Unix] Fix RtlRestoreContext
* [Arm64/Unix] Restore FP from CurrentContextPointers
* [Arm64/Unix] fix pointer math
* [Arm64/Unix] Fix CallDescrWorkerInternal personality
* [Arm64/Unix] More Fp fixups
* [Arm64/Unix] CallEHFunclet machine state
Restore non-volatile machine state in CallEHFunclet
* [Arm64/Unix] CallDescrWorkerInternal
Use empty stack slot to save argument
* [Arm64/Unix] RtlVirtualUnwind update pointers
* [Arm64] LazyMachState fixes
* [Arm64/Unix] disable USE_REDIRECT_FOR_GCSTRESS
When FEATURE_PAL is enableds USE_REDIRECT_FOR_GCSTRESS
is not supported
* [Arm64] ClearRegDisplayArgumentAndScratchRegisters()
* [Arm64] Remove unnecesary copy in TransitionFrame
* [Arm64/Unix] Fix comment per review
* [Arm64/Unix] move constants per review
* [Arm64/Unix] Use ldp per review
Also fix indentation
* [Arm64/Unix] Fix indentation per review
* [Arm64/Unix] Remove m_Unwound per review comments
* [Arm64/Unix] Use PREPARE_EXTERNAL_VAR to access globals
* [Arm64/Unix] Fix more whitespace per earlier review comments
|
|
|
|
|
|
This is a result of attempt to bring up CoreCLR on ARM64 Android.
The bring up is on hold now, but I want to check in the changes
that added ARM64 asm helpers and fixed general Linux ARM64 issues.
|
|
- Fix invalid varible name `*X19_X28' to '*X19_X29'
- Remove code for capturing `fp` status.
|
|
There is a problem with hardware exception handling when the exception
happens in native code and it is under the HardwareExceptionHolder on
FreeBSD and NetBSD. The problem was that the C++ unwinder was unable
to cross the signal trampoline.
This change fixes the problem by throwing the PAL_SEHException from
the context of the hardware exception itself rather than from the
signal handler.
Since it uses the same code as we were using for StartUnwindingNativeFrames
in CoreCLR before, I have moved that stuff to PAL and let both CoreCLR and
the signal handlers use it too.
At the same time, I have reenabled the paltest_pal_sxs_test1 for FreeBSD and
NetBSD, since it now works.
|
|
The transition block prolog/epilog macros were not correctly saving and restoring the floating point arguments on arm and arm64 on Unix.
|
|
|
|
|