Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Register allocator and lexicals bug #262
Should be a null PMC access, but prints "oh no". It looks like
isn't considered an instruction, but just saying "this lexical goes in this register". If that's the only mention of $P0, then there's no "first instruction". It builds a du-chain, then based on that throws away $P0 from the "needs allocation" list because it confuses it with an unused register (e.g. it thinks it got optimized out, which is not the case at all here).
This patch makes the issue go away:
But it's kinda hacky. OTOH, so is the register allocator as a whole, and this is blocking me on NQP, so provided we can be sure we don't make the quicksort of symbols to allocate unstable I'd be OK with something like this going in. Will leave it until tomorrow to see if anyone has any better ideas.
I just tried to apply this patch and it doesn't apply cleanly. After a quick visual inspection, it appears that most of this patch has already been applied (and the rest I either can't find or it isn't applied). Running the test program program provided does indeed fail with a null pmc access which, I think is what you said was expected.
@jnthn, Is this issue resolved? If so, can we close this ticket? Thanks.
On 5/8/2012 0:58, Andrew Whitworth wrote: