Subject: bug#67141: 30.0.50; Missing element in the backtrace

From: Mattias Engdegård <[email-masked]>
Date: Mon, 20 Nov 2023 22:01:49 +0100

> B. ELisp primitives with their own bytecode.

Some time ago I made a feeble attempt to remedy this problem but only got as far as dealing with a few byte ops that open-coded their respective Lisp operations (car, aref, and a few more).

The straightforward solution would be to access the PC and SP from a bytecode frame when a backtrace is required but it will be a bit messy and I feared there might be performance consequences, and it's possible that the stack frame format would need changing as well. Still worth a try, though.

(Actually I'd like the option to include a byte code offset to source location map in the compiled bytecode as well. It would be the next logical step. Not sure how best to store it but a byte string is probably what I'd use, possibly loaded dynamically like doc strings.)

Not sure if the native compiler would prefer building on that kind of source location structure but why not.