Ignore:
Timestamp:
Mar 30, 2008, 8:03:45 AM (11 years ago)
Author:
gb
Message:

Conditionalize context hacks for win64.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/win64/level-1/x86-trap-support.lisp

    r8798 r8952  
    120120      5                                 ;rsi
    121121      4                                 ;rdi
     122      8                                 ;r8
     123      9                                 ;r9
     124      10                                ;r10
     125      11                                ;r11
     126      12                                ;r12
     127      13                                ;r13
     128      14                                ;r14
     129      15                                ;r15
     130      )))
     131
     132#+win64-target
     133(progn
     134  (defconstant gp-regs-offset (get-field-offset #>CONTEXT.Rax))
     135  (defmacro xp-gp-regs (xp) xp)
     136  (defconstant rip-register-offset 16)
     137  (defun xp-mxcsr (xp)
     138    (pref xp #>CONTEXT.MxCsr))
     139  (defparameter *encoded-gpr-to-indexed-gpr*
     140    #(0                                 ;rax
     141      1                                 ;rcx
     142      2                                 ;rdx
     143      3                                 ;rbx
     144      4                                 ;rsp
     145      5                                 ;rbp
     146      6                                 ;rsi
     147      7                                 ;rdi
    122148      8                                 ;r8
    123149      9                                 ;r9
     
    159185  (setf (indexed-gpr-macptr xp (aref *encoded-gpr-to-indexed-gpr* gpr)) new))
    160186(defun xp-flags-register (xp)
     187  #+windows-target
     188  (pref xp #>CONTEXT.EFlags)
     189  #-windows-target
    161190  (%get-signed-long-long (xp-gp-regs xp) (+ gp-regs-offset (ash flags-register-offset x8664::fixnumshift))))
    162191 
Note: See TracChangeset for help on using the changeset viewer.