Skip Menu |

This queue is for tickets about the B-Utils CPAN distribution.

Report information
The Basics
Id: 6623
Status: resolved
Priority: 0/
Queue: B-Utils

People
Owner: Nobody in particular
Requestors: jjore [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: ->parent has multiple problems and is broken as-is in 0.04
The module http://lik.grenekatz.org/downloads/perl/Devel-UncheckedOps-0.01/ uses B::Utils::parent but as-is it enters an infinite loop. You initially compared OP nodes against each other by simple numberic equality. That was a comparison of the references to the objects, not the actual pointers returned by B and it does not correctly detect node equality. This change dereferences nodes for comparison and was mostly just a complete re-write because once I got the comparison to work correctly, the function wouldn't ever reach the correct node (or something like that. I forget). Anyhow, the patch at http://lik.grenekatz.org/downloads/perl/B-Utils-0.05.patch adds some debugging code, walks the pointers in a method that works for the cases I've tried it on, and adds a bit of code for debugging the operation of this code. Thanks also for your perl.com article on optree modification - it and your online optree presentation made writing the Devel::UncheckedOps module possible. Josh