0.9.15.22: check for error, do not aver, do not collect $200
[sbcl.git] / src / compiler / x86-64 / cell.lisp
index 8eac0c0..60171da 100644 (file)
   (:args (object :scs (descriptor-reg)))
   (:conditional)
   (:info target not-p)
-  (:temporary (:sc descriptor-reg :from (:argument 0)) value)
   (:generator 9
-    (loadw value object symbol-value-slot other-pointer-lowtag)
-    (inst cmp value unbound-marker-widetag)
+    (inst cmp (make-ea-for-object-slot object symbol-value-slot
+                                       other-pointer-lowtag)
+          unbound-marker-widetag)
     (inst jmp (if not-p :e :ne) target)))
 
 
     (loadw res struct 0 instance-pointer-lowtag)
     (inst shr res n-widetag-bits)))
 
-(define-vop (instance-ref slot-ref)
-  (:variant instance-slots-offset instance-pointer-lowtag)
-  (:policy :fast-safe)
-  (:translate %instance-ref)
-  (:arg-types instance (:constant index)))
-
-(define-vop (instance-set slot-set)
-  (:policy :fast-safe)
-  (:translate %instance-set)
-  (:variant instance-slots-offset instance-pointer-lowtag)
-  (:arg-types instance (:constant index) *))
-
 (define-full-reffer instance-index-ref * instance-slots-offset
   instance-pointer-lowtag (any-reg descriptor-reg) * %instance-ref)