[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 84/87: GOOPS cosmetics
From: |
Andy Wingo |
Subject: |
[Guile-commits] 84/87: GOOPS cosmetics |
Date: |
Thu, 22 Jan 2015 17:30:28 +0000 |
wingo pushed a commit to branch wip-goops-refactor
in repository guile.
commit e30dbbfc68980b6774dcbf5cc4a5f5bf116e5630
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 | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index fbadc35..9f824f4 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -1,6 +1,6 @@
-;;; installed-scm-file
-
-;;;; Copyright (C) 1998,1999,2000-2003,2006,2009-2011,2013-2015 Free Software
Foundation, Inc.
+;;;; goops.scm -- The Guile Object-Oriented Programming System
+;;;;
+;;;; Copyright (C) 1998-2003,2006,2009-2011,2013-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
@@ -132,8 +132,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))
;;;
@@ -430,6 +429,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)
- [Guile-commits] 68/87: `match' refactor in goops.scm, (continued)
- [Guile-commits] 68/87: `match' refactor in goops.scm, Andy Wingo, 2015/01/22
- [Guile-commits] 65/87: when and unless for one-armed ifs in goops.scm, Andy Wingo, 2015/01/22
- [Guile-commits] 72/87: change-object-class refactor, Andy Wingo, 2015/01/22
- [Guile-commits] 74/87: The GOOPS "unbound" value is a unique pair, Andy Wingo, 2015/01/22
- [Guile-commits] 71/87: slot-ref, slot-set! et al bypass "using-class" variants, Andy Wingo, 2015/01/22
- [Guile-commits] 73/87: GOOPS: Deprecate "using-class" procs like slot-ref-using-class, Andy Wingo, 2015/01/22
- [Guile-commits] 80/87: Optimize %initialize-object, Andy Wingo, 2015/01/22
- [Guile-commits] 75/87: Beginnings of <slot> slot definition class, Andy Wingo, 2015/01/22
- [Guile-commits] 81/87: Minor GOOPS cleanups, Andy Wingo, 2015/01/22
- [Guile-commits] 79/87: Inline internal slot accessors, Andy Wingo, 2015/01/22
- [Guile-commits] 84/87: GOOPS cosmetics,
Andy Wingo <=
- [Guile-commits] 77/87: Use a vtable bit to mark <slot> instances, Andy Wingo, 2015/01/22
- [Guile-commits] 87/87: tmp, Andy Wingo, 2015/01/22
- [Guile-commits] 78/87: Inline helpers into slot-ref, slot-set!, etc, Andy Wingo, 2015/01/22
- [Guile-commits] 83/87: Update (oop goops save) for <slot> objects, Andy Wingo, 2015/01/22
- [Guile-commits] 82/87: Fix foreign objects for removal of getters-n-setters, Andy Wingo, 2015/01/22
- [Guile-commits] 85/87: Fast generic function dispatch without calling `compile' at runtime, Andy Wingo, 2015/01/22
- [Guile-commits] 76/87: Introduce <slot> objects in GOOPS, Andy Wingo, 2015/01/22
- [Guile-commits] 86/87: Simplify GOOPS effective method cache format, Andy Wingo, 2015/01/22