Make disassembler correctly detect multiple code .ENTRY points
commit2efe13d1a55e5c342a32b0da7cc15ec58ab5dce3
authorDouglas Katzman <dougk@google.com>
Sun, 30 Nov 2014 00:28:06 +0000 (29 19:28 -0500)
committerDouglas Katzman <dougk@google.com>
Sun, 30 Nov 2014 00:28:06 +0000 (29 19:28 -0500)
treed269901d107b21df10f91d1c9629fca2f9fecff9
parentab5bc60afbd1d90844db43f8fe90debab8d5d5dd
Make disassembler correctly detect multiple code .ENTRY points

If pad bytes were inadvertently decoded as opcodes, they might bump
the PC beyond where the fun-header-widetag is, and so the .entry hook
would fail to trigger, and everything would be wrong until by chance
the decoder could sync to a valid opcode.

And the use of sb!kernel:code-header-ref in 'add-fun-header-hooks'
was insane. SEG-CODE could be NIL, but it "worked" to dereference NIL
as if a code-header and get back NIL by random coincidence.
src/compiler/target-disassem.lisp