| Title | Register scanning approach is not reliable |
| Status | open |
| Priority | essential |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | Filip Strömbäck reports [1] that setjmp is not a reliable method of spilling registers onto the stack. |
| Analysis | The analysis we gave in design.mps.sol.setjmp.justify [2] is not correct. A compiler can arrange for longjmp to reconstruct the registers using (for example) debug information, and so avoid the need to spill all the registers to the jump buffer. |
| How found | customer |
| Evidence | [1] https://info.ravenbrook.com/mail/2019/05/20/13-08-23/0/[2] https://www.ravenbrook.com/project/mps...r/design/stack-scan#.sol.setjmp.justify |
| Created by | Gareth Rees |
| Created on | 2019-06-04 11:43:26 |
| Last modified by | Gareth Rees |
| Last modified on | 2019-06-04 11:43:26 |
| History | 2019-06-04 GDR Created. |