Changeset 11422


Ignore:
Timestamp:
Nov 24, 2008, 8:52:36 PM (11 years ago)
Author:
rme
Message:

for x8632: new %%APPLY-IN-FRAME-PROTO stub; signal error in %APPLY-IN-FRAME.

This avoids compiler warnings when building the lisp. (We still need
to implement APPLY-IN-FRAME for x8632, of course.)

Location:
trunk/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-0/X86/X8632/x8632-misc.lisp

    r11150 r11422  
    774774  (single-value-return))
    775775
    776 ;;; future %%apply-in-frame-proto would go here
     776;; tbd
     777(defx8632lapfunction %%apply-in-frame-proto ()
     778  (hlt))
    777779
    778780(defx8632lapfunction %atomic-pop-static-cons ()
  • trunk/source/lib/x86-backtrace.lisp

    r10337 r11422  
    419419         
    420420(defun %apply-in-frame (frame function arglist)
    421   (let* ((target-catch (last-catch-since frame nil))
    422          (start-fp (if target-catch
    423                      (uvref target-catch target::catch-frame.rbp-cell)
    424                      (%get-frame-ptr)))
    425          (target-xcf (last-xcf-since frame start-fp nil))
    426          (target-db-link (last-binding-before frame))
    427          (target-tsp (last-tsp-before frame))
    428          (target-foreign-sp (last-foreign-sp-before frame)))
    429     (multiple-value-bind (save0-loc save1-loc save2-loc save3-loc)
    430         (find-x8664-saved-nvrs frame start-fp nil)
    431       (let* ((thunk (%clone-x86-function #'%%apply-in-frame-proto
    432                                          frame
    433                                          target-catch
    434                                          target-db-link
    435                                          target-xcf
    436                                          target-tsp
    437                                          target-foreign-sp
    438                                          (if save0-loc
    439                                            (- save0-loc frame)
    440                                            0)
    441                                          (if save1-loc
    442                                            (- save1-loc frame)
    443                                            0)
    444                                          (if save2-loc
    445                                            (- save2-loc frame)
    446                                            0)
    447                                          (if save3-loc
    448                                            (- save3-loc frame)
    449                                            0)
    450                                          (coerce-to-function function)
    451                                          arglist
    452                                          0)))
    453         (funcall thunk)))))
     421  (target-arch-case
     422   (:x8632 (error "%apply-in-frame doesn't work for x8632 yet"))
     423   (:x8664
     424    (let* ((target-catch (last-catch-since frame nil))
     425           (start-fp (if target-catch
     426                       (uvref target-catch x8664::catch-frame.rbp-cell)
     427                       (%get-frame-ptr)))
     428           (target-xcf (last-xcf-since frame start-fp nil))
     429           (target-db-link (last-binding-before frame))
     430           (target-tsp (last-tsp-before frame))
     431           (target-foreign-sp (last-foreign-sp-before frame)))
     432      (multiple-value-bind (save0-loc save1-loc save2-loc save3-loc)
     433          (find-x8664-saved-nvrs frame start-fp nil)
     434        (let* ((thunk (%clone-x86-function #'%%apply-in-frame-proto
     435                                           frame
     436                                           target-catch
     437                                           target-db-link
     438                                           target-xcf
     439                                           target-tsp
     440                                           target-foreign-sp
     441                                           (if save0-loc
     442                                             (- save0-loc frame)
     443                                             0)
     444                                           (if save1-loc
     445                                             (- save1-loc frame)
     446                                             0)
     447                                           (if save2-loc
     448                                             (- save2-loc frame)
     449                                             0)
     450                                           (if save3-loc
     451                                             (- save3-loc frame)
     452                                             0)
     453                                           (coerce-to-function function)
     454                                           arglist
     455                                           0)))
     456          (funcall thunk)))))))
    454457
    455458           
Note: See TracChangeset for help on using the changeset viewer.