[bug] [vw7.8] N-PC not found in map

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[bug] [vw7.8] N-PC not found in map

Martin McClure-3
I ran into this testing unusual cases in our extension of the debugger.
This is an unusual case, so probably not the highest priority, but it
still seems like a bug.

To reproduce:

Load Glorp (just for ProtoObject, which we'll use later).

Define class Foo, subclass of Object.
Add this method:

choose: anObject

        anObject ifTrue: [^42]

---

In a workspace, execute:

| foo |
foo := Foo new.
foo choose: ProtoObject new

---

This will legitimately fail with an error, since ProtoObjects do not
understand #mustBeBoolean. (Any class that does not understand
#mustBeBoolean will do, ProtoObject was a handy example.)

Debug this, then select the "Foo>>choose:" context.
A dialog opens saying "N-PC not found in map". It's trying to figure out
what to highlight in the source. It probably *should* highlight the
#ifTrue: send.

The PC at this point is -95.

This seems likely to be a bug in the native compiler, that it is
generating code that can be stopped in but not mapped to a vpc.

For the curious, what I'm actually trying to do is ensure that the GBS
debugger does something reasonable if I step through code that sends
#ifTrue: or #ifFalse: to a forwarder. If this bug were fixed, I think I
actually could make it step through this reasonably.

Regards,

-Martin
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc