[RISC-V] ELT Profiler Bring-Up (#91313)
* [RISC-V] Generate profiling function callbacks
Initial implementation based on ARM64 code.
* [RISC-V] Fix asm stub for calling profiler callbacks
* Fix argument registers according to RISC-V calling convention
* Fix field offsets for PROFILE_PLATFORM_SPECIFIC_DATA
* Make sure field offsets for PROFILE_PLATFORM_SPECIFIC_DATA stay fixed by static asserting the offsets in asmconstants.h
* [RISC-V] Pass arguments for Profile(Enter|Leave|Tailcall)Naked stubs in t0 and t1 because t2 is used to store the call address of the stub
* [RISC-V] Remove unimplemented definition of EmitRet
* [RISC-V] Copy struct from registers into a buffer so that profiler can see whole struct arguments laid out in memory
* [RISC-V] Implement ProfileArgIterator::GetReturnBufferAddr()
Since the RISC-V ABI says values are returned like the first named argument, re-use the struct copying routine from argument parsing as much as possible.
* Factor out duplicated test results checking routine in SlowPathELTProfiler::Shutdown()
* [RISC-V] Clean up PROFILE_PLATFORM_SPECIFIC_DATA
* Remove unused t0 field
* Remove 'unused' field and widen 'flags' to 64 bits to maintain alignment and shave off one sw instruction
* [RISC-V] Remove commented out code
* [RISC-V] Fix formatting
* [RISC-V] Apply format patch from failed check
* [RISC-V] Post-review fixes