Implement genProfilingEnterCallback genProfilingLeaveCallback on Arm64 (dotnet/corecl... accepted/tizen/unified/20200731.145700 submit/tizen/20200731.014213
authorMikhail Kurinnoi <m.kurinnoi@samsung.com>
Thu, 23 Jul 2020 08:37:35 +0000 (11:37 +0300)
committerAlexander Soldatov/AI Compiler Lab /SRR/Staff Engineer/Samsung Electronics <soldatov.a@samsung.com>
Mon, 27 Jul 2020 13:37:47 +0000 (16:37 +0300)
commitdbfc7071dd4aa23481e1932ed3b006101709880c
tree285f50f76a2bbe366825793d8601e545e36acdd5
parent0ec7ff39ff14638b7d7d2ffe36b823c62f705ea2
Implement genProfilingEnterCallback genProfilingLeaveCallback on Arm64 (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
16 files changed:
src/jit/codegen.h
src/jit/codegenarm.cpp
src/jit/codegenarm64.cpp
src/jit/codegencommon.cpp
src/jit/codegenxarch.cpp
src/jit/emit.cpp
src/jit/lsraarm64.cpp
src/jit/target.h
src/vm/CMakeLists.txt
src/vm/arm/asmhelpers.S
src/vm/arm/asmhelpers.asm
src/vm/arm64/asmhelpers.S
src/vm/arm64/asmhelpers.asm
src/vm/arm64/profiler.cpp [new file with mode: 0644]
src/vm/arm64/stubs.cpp
src/vm/jithelpers.cpp