guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 05/06: GOOPS cosmetics


From: Andy Wingo
Subject: [Guile-commits] 05/06: GOOPS cosmetics
Date: Wed, 21 Jan 2015 14:23:01 +0000

wingo pushed a commit to branch wip-goops-refactor
in repository guile.

commit e4c71438c366fcc03d78b43a594665b5f81066e4
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 19 22:41:57 2015 +0100

    GOOPS cosmetics
    
    * module/oop/goops.scm: More commenting.  Move around <keyword> in the
      export section.
---
 module/oop/goops.scm |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index 8f36f8d..d4c28ff 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -1,6 +1,7 @@
-;;; installed-scm-file
-
-;;;; Copyright (C) 1998,1999,2000,2001,2002, 2003, 2006, 2009, 2010, 2011, 
2013, 2014, 2015 Free Software Foundation, Inc.
+;;;; goops.scm -- The Guile Object-Oriented Programming System
+;;;;
+;;;; Copyright (C) 1998,1999,2000,2001,2002,2003,2006,2009,2010,2011,
+;;;;    2013,2014,2015 Free Software Foundation, Inc.
 ;;;; Copyright (C) 1993-1998 Erick Gallesio - I3S-CNRS/ESSI <address@hidden>
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
@@ -62,6 +63,7 @@
             <boolean> <char> <list> <pair> <null> <string> <symbol>
             <vector> <bytevector> <uvec> <foreign> <hashtable>
             <fluid> <dynamic-state> <frame> <vm> <vm-continuation>
+            <keyword>
 
             ;; Numbers.
             <number> <complex> <real> <integer> <fraction>
@@ -75,7 +77,7 @@
             ;; smob-type-name->class procedure.
             <arbiter> <promise> <thread> <mutex> <condition-variable>
             <regexp> <hook> <bitvector> <random-state> <async>
-            <directory> <keyword> <array> <character-set>
+            <directory> <array> <character-set>
             <dynamic-object> <guardian> <macro>
 
             ;; Modules.
@@ -131,8 +133,7 @@
             method-specializers method-formals
             primitive-generic-generic enable-primitive-generic!
             method-procedure accessor-method-slot-definition
-            make find-method get-keyword)
-  #:no-backtrace)
+            make find-method get-keyword))
 
 
 ;;;
@@ -429,6 +430,12 @@ followed by its associated value.  If @var{l} does not 
hold a value for
       (struct-set! <slot> class-index-redefined #f)
       <slot>)))
 
+;;; Access to slot objects is performance-sensitive for slot-ref, so in
+;;; addition to the type-checking accessors that we export, we also
+;;; define some internal inlined helpers that just do an unchecked
+;;; struct-ref in cases where we know the object must be a slot, as
+;;; when accessing class-slots.
+;;;
 (define-syntax-rule (define-slot-accessor name docstring %name field)
   (begin
     (define-syntax-rule (%name obj)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]