Instead of using a hash table to map from compiled-debug-functions to the
corresponding :function-end breakpoint start-helper, use a slot in the c-d-f structure. Added a :unknown-return-partner kind of breakpoint, which is used internally to mark the partner breakpoint for :unknown-return code-locations. Changed MAKE-COMPILED-CODE-LOCATION to be called MAKE-KNOWN-CODE-LOCATION because that is what it was doing. Also, made the optional args required, because they really are. Changed MAKE-UNKNOWN-CODE-LOCATION to be called MAKE-COMPILED-CODE-LOCATION, because it is not known to be unknown (i.e. :unsure). Changed CODE-LOCATION-FROM-PC to check to see if there is a breakpoint installed at that pc. If so, use the code-location from that breakpoint. Otherwise, make an :unsure unknown-p code-location so it can be filled in if needed. Fixed FRAME-CATCHES to take into account the code components header length when computing the pc offset for the :nlx-entry code location. Fixed code-location breakpoints to correctly handle :unknown-return and :single-value-return code-locations.
Loading
Please register or sign in to comment