Add support for RECORD objects.
authorChris Hanson <org/chris-hanson/cph>
Wed, 2 Dec 1992 20:21:45 +0000 (20:21 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 2 Dec 1992 20:21:45 +0000 (20:21 +0000)
v7/src/runtime/record.scm
v7/src/runtime/runtime.pkg
v7/src/sf/usiexp.scm
v8/src/runtime/runtime.pkg

index 55fbf847cbbe0ed7f92f77464aed1df1947d46e3..d4c3bbcd8231ce3fb5c83bac09d7f655ab9718c5 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: record.scm,v 1.14 1992/12/02 19:43:32 cph Exp $
+$Id: record.scm,v 1.15 1992/12/02 20:21:17 cph Exp $
 
 Copyright (c) 1989-1992 Massachusetts Institute of Technology
 
@@ -46,6 +46,9 @@ MIT in each case. |#
   (%record-ref 2)
   (%record-set! 3))
 
+(define-integrable (%vector? object)
+  (object-type? (ucode-type record) object))
+
 (define (initialize-package!)
   (set! record-type-marker
        ((ucode-primitive string->symbol)
index 8fb4665c36f45b096cc3a3030d41ef3d5ed9f7a7..0f2a77529e0ac440e4cbcc774d77c7c61590bc2e 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.164 1992/12/02 19:44:11 cph Exp $
+$Id: runtime.pkg,v 14.165 1992/12/02 20:21:45 cph Exp $
 
 Copyright (c) 1988-1992 Massachusetts Institute of Technology
 
@@ -1693,6 +1693,7 @@ MIT in each case. |#
          %record-length
          %record-ref
          %record-set!
+         %record?
          make-record-type
          record-accessor
          record-constructor
index 556c3c3f37d1171be37dfa3a32f7210dabba8d2b..4c8236059d6968226c0795b114b8d626eea76c87 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: usiexp.scm,v 4.10 1992/11/04 10:17:40 jinx Exp $
+$Id: usiexp.scm,v 4.11 1992/12/02 20:20:38 cph Exp $
 
 Copyright (c) 1988-1992 Massachusetts Institute of Technology
 
@@ -392,6 +392,7 @@ MIT in each case. |#
 
 (define char?-expansion (type-test-expansion (ucode-type character)))
 (define vector?-expansion (type-test-expansion (ucode-type vector)))
+(define %record?-expansion (type-test-expansion (ucode-type record)))
 (define weak-pair?-expansion (type-test-expansion (ucode-type weak-cons)))
 (define flo:flonum?-expansion (type-test-expansion (ucode-type big-flonum)))
 (define fix:fixnum?-expansion (type-test-expansion (ucode-type fixnum)))
@@ -445,6 +446,7 @@ MIT in each case. |#
 
 (define usual-integrations/expansion-names
   '(
+    %record?
     *
     +
     -
@@ -522,6 +524,7 @@ MIT in each case. |#
 \f
 (define usual-integrations/expansion-values
   (list
+   %record?-expansion
    *-expansion
    +-expansion
    --expansion
index 8fb4665c36f45b096cc3a3030d41ef3d5ed9f7a7..0f2a77529e0ac440e4cbcc774d77c7c61590bc2e 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.164 1992/12/02 19:44:11 cph Exp $
+$Id: runtime.pkg,v 14.165 1992/12/02 20:21:45 cph Exp $
 
 Copyright (c) 1988-1992 Massachusetts Institute of Technology
 
@@ -1693,6 +1693,7 @@ MIT in each case. |#
          %record-length
          %record-ref
          %record-set!
+         %record?
          make-record-type
          record-accessor
          record-constructor