[RISC-V] Remove unused stack probing methods#112347
[RISC-V] Remove unused stack probing methods#112347sirntar wants to merge 11 commits intodotnet:mainfrom
Conversation
RISC-V Release-CLR-QEMU: 9456 / 9535 (99.17%)Release-CLR-QEMU.md, Release-CLR-QEMU.xml, testclr_output.tar.gz RISC-V Release-FX-QEMU: 0 / 259 (0.00%)Release-FX-QEMU.md, Release-FX-QEMU.xml, testfx_output.tar.gz Build information and commandsGIT: RISC-V Release-CLR-QEMU: 9463 / 9535 (99.24%)Release-CLR-QEMU.md, Release-CLR-QEMU.xml, testclr_output.tar.gz RISC-V Release-FX-QEMU: 0 / 259 (0.00%)Release-FX-QEMU.md, Release-FX-QEMU.xml, testfx_output.tar.gz Build information and commandsGIT: |
RISC-V Release-CLR-QEMU: 9463 / 9535 (99.24%)Release-CLR-QEMU.md, Release-CLR-QEMU.xml, testclr_output.tar.gz RISC-V Release-FX-QEMU: 0 / 259 (0.00%)Release-FX-QEMU.md, Release-FX-QEMU.xml, testfx_output.tar.gz Build information and commandsGIT: RISC-V Release-CLR-QEMU: 9463 / 9535 (99.24%)Release-CLR-QEMU.md, Release-CLR-QEMU.xml, testclr_output.tar.gz RISC-V Release-FX-QEMU: 0 / 259 (0.00%)Release-FX-QEMU.md, Release-FX-QEMU.xml, testfx_output.tar.gz Build information and commandsGIT: |
RISC-V Release-CLR-QEMU: 9463 / 9535 (99.24%)Release-CLR-QEMU.md, Release-CLR-QEMU.xml, testclr_output.tar.gz RISC-V Release-FX-QEMU: 0 / 259 (0.00%)Release-FX-QEMU.md, Release-FX-QEMU.xml, testfx_output.tar.gz Build information and commandsGIT: |
f8034ce is being scheduled for building and testingGIT: DetailsRelease-FX-tests FAILEDbuildinfo.json |
RISC-V Release-CLR-QEMU: 9458 / 9534 (99.20%)Release-CLR-QEMU.md, Release-CLR-QEMU.xml, testclr_output.tar.gz Build information and commandsGIT: RISC-V Release-FX-QEMU: 580657 / 612697 (94.77%)Release-FX-QEMU.md, Release-FX-QEMU.xml, testfx_output.tar.gz Build information and commandsGIT: RISC-V Release-CLR-VF2: 9458 / 9534 (99.20%)Release-CLR-VF2.md, Release-CLR-VF2.xml, testclr_output.tar.gz Build information and commandsGIT: RISC-V Release-FX-VF2: 389221 / 423609 (91.88%)Build information and commandsGIT: |
| // genDefineTempLabel(loop); | ||
|
|
||
| // tickle the page - Read from the updated SP - this triggers a page fault when on the guard page | ||
| emit->emitIns_R_R_I(INS_lw, EA_4BYTE, REG_R0, REG_SPBASE, 0); |
There was a problem hiding this comment.
Just to make sure it's not doing anything shady, what's preventing the sp from jumping over the guard page now?
8709e9d is being scheduled for building and testingGIT: |
That was a pretty good question - I thought this mechanism was somewhere else, but it turned out that it wasn't. So instead of removing stack probing I simplified it. I also removed I don't want to create more mess in this PR, so I will close it and open a new one. |
| // Skip: | ||
| // lui regTmp, eeGetPageSize()>>12 | ||
| // lui regPageSize, eeGetPageSize()>>12 | ||
| // addi regTmp, SP, 0 |
There was a problem hiding this comment.
Is there a reason not to decrement sp directly?
This PR removes unneeded stack probing methods on riscv64. It was a leftover from la64, which was a legacy from arm64... On rv64 we are doing that a little bit different.
About
genAllocLclFrame:On riscv64 It was used to probe stack or let's say it was supposed to be used for that. In fact it was yet another legacy code from arm64 that was never used.
Part of #84834, cc @dotnet/samsung