diff --git a/code/debug-int.lisp b/code/debug-int.lisp
index 7fc4f765acd6b533256dc3e6d6222121be850148..1c78787dfb6caf046fb77f0ecf1eb9fd8d356266 100644
--- a/code/debug-int.lisp
+++ b/code/debug-int.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/debug-int.lisp,v 1.40 1992/03/04 13:44:49 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/debug-int.lisp,v 1.41 1992/03/06 11:37:31 wlott Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1240,9 +1240,6 @@
 
 ;;; DEBUG-FUNCTION-FUNCTION -- Public.
 ;;;
-;;; ### Should hack compiled functions someday, now that the new object format
-;;; allows it.
-;;;
 (defun debug-function-function (debug-function)
   "Returns the Common Lisp function associated with the debug-function.  This
    returns nil if the function is unavailable or is non-existent as a user
@@ -1251,7 +1248,21 @@
     (if (eq cached-value :unparsed)
 	(setf (debug-function-%function debug-function)
 	      (etypecase debug-function
-		(compiled-debug-function nil)
+		(compiled-debug-function
+		 (let ((component
+			(compiled-debug-function-component debug-function))
+		       (start-pc
+			(c::compiled-debug-function-start-pc
+			 (compiled-debug-function-compiler-debug-fun
+			  debug-function))))
+		   (do ((entry (system:%primitive code-entry-points component)
+			       (system:%primitive function-next entry)))
+		       ((null entry) nil)
+		     (when (= start-pc
+			      (c::compiled-debug-function-start-pc
+			       (compiled-debug-function-compiler-debug-fun
+				(function-debug-function entry))))
+		       (return entry)))))
 		(interpreted-debug-function
 		 (c::lambda-eval-info-function
 		  (c::leaf-info