Index: /trunk/ccl/compiler/X86/x86-backend.lisp
===================================================================
--- /trunk/ccl/compiler/X86/x86-backend.lisp	(revision 4957)
+++ /trunk/ccl/compiler/X86/x86-backend.lisp	(revision 4958)
@@ -197,10 +197,12 @@
                          (if (typep op 'fixnum)
                            op
-                           (if (constantp op)
-                             (progn
-                               (if (keywordp op)
-                                 (pushnew op referenced-labels))
-                               (eval op))
-                             (find-name op)))
+                           (if (eq op :rcontext)
+                             (backend-lisp-context-register *target-backend*)
+                             (if (constantp op)
+                               (progn
+                                 (if (keywordp op)
+                                   (pushnew op referenced-labels))
+                                 (eval op))
+                               (find-name op))))
                          (if (eq (car op) :^)
                            (list :^ (simplify-simple-operand (cadr op)))
Index: /trunk/ccl/compiler/X86/x86-lap.lisp
===================================================================
--- /trunk/ccl/compiler/X86/x86-lap.lisp	(revision 4957)
+++ /trunk/ccl/compiler/X86/x86-lap.lisp	(revision 4958)
@@ -350,4 +350,7 @@
   (let* ((r (typecase regname
               (symbol (or (gethash (string regname) x86::*x86-registers*)
+                          (if (eq regname :rcontext)
+                            (svref x86::*x8664-register-entries*
+                                   (ccl::backend-lisp-context-register *target-backend*)))
                           (and (boundp regname)
                                (let* ((val (symbol-value regname)))
