Open KristofferC opened 1 year ago
I am not certain I understand how a pointer can equal a shifted copy of itself. But that check seems possibly incompatible with user-space threading and might be incorrect in general with threads too?
I think they're using the upper bits of the pointer as payload (like alignment bits)
Ah, I see it is attempting to assert that the pointer high nibble has the form 0xabab
. Which appears to contradict what the hardware expects (on intel x64, it would be 0xabbb
, so that the value 0x7fff
can be used as stack memory):
a canonical address must have bits 63 through 48 set to zeros or ones (depending on whether bit 47 is a zero or one)
Is this intel or arm?
Apple silicon
See https://mastodon.gamedev.place/@aras/110289472336821115 for the possible explanation.
I didn't think we had enabled the function pointer signing, as I am not sure if the OrcJIT implements support for that yet?
Almost immediately asserts with:
after connecting the profiler.
I dont know if this is a bug in tracy or something with how we use it / build it so I'm filing it here first.