[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/02: Use make-struct/simple in psyntax
From: |
Andy Wingo |
Subject: |
[Guile-commits] 01/02: Use make-struct/simple in psyntax |
Date: |
Mon, 22 Jan 2018 02:20:41 -0500 (EST) |
wingo pushed a commit to branch master
in repository guile.
commit 5fcc761b43702fa18e768f5e9cfce7199a3c8a5c
Author: Andy Wingo <address@hidden>
Date: Mon Jan 22 08:06:09 2018 +0100
Use make-struct/simple in psyntax
* module/ice-9/psyntax.scm (define-expansion-constructors): Use
make-struct/simple, so we can inline allocations.
* module/ice-9/psyntax-pp.scm: Regenerate.
---
module/ice-9/psyntax-pp.scm | 40 ++++++++++++++++++----------------------
module/ice-9/psyntax.scm | 4 ++--
2 files changed, 20 insertions(+), 24 deletions(-)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index be0f524..532e80f 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -9,23 +9,19 @@
(letrec*
((make-void
(lambda (src)
- (make-struct/no-tail (vector-ref %expanded-vtables 0) src)))
+ (make-struct/simple (vector-ref %expanded-vtables 0) src)))
(make-const
(lambda (src exp)
- (make-struct/no-tail (vector-ref %expanded-vtables 1) src exp)))
+ (make-struct/simple (vector-ref %expanded-vtables 1) src exp)))
(make-primitive-ref
(lambda (src name)
- (make-struct/no-tail (vector-ref %expanded-vtables 2) src name)))
+ (make-struct/simple (vector-ref %expanded-vtables 2) src name)))
(make-lexical-ref
(lambda (src name gensym)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 3)
- src
- name
- gensym)))
+ (make-struct/simple (vector-ref %expanded-vtables 3) src name
gensym)))
(make-lexical-set
(lambda (src name gensym exp)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables 4)
src
name
@@ -33,7 +29,7 @@
exp)))
(make-module-ref
(lambda (src mod name public?)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables 5)
src
mod
@@ -41,7 +37,7 @@
public?)))
(make-module-set
(lambda (src mod name public? exp)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables 6)
src
mod
@@ -50,16 +46,16 @@
exp)))
(make-toplevel-ref
(lambda (src name)
- (make-struct/no-tail (vector-ref %expanded-vtables 7) src name)))
+ (make-struct/simple (vector-ref %expanded-vtables 7) src name)))
(make-toplevel-set
(lambda (src name exp)
- (make-struct/no-tail (vector-ref %expanded-vtables 8) src name exp)))
+ (make-struct/simple (vector-ref %expanded-vtables 8) src name exp)))
(make-toplevel-define
(lambda (src name exp)
- (make-struct/no-tail (vector-ref %expanded-vtables 9) src name exp)))
+ (make-struct/simple (vector-ref %expanded-vtables 9) src name exp)))
(make-conditional
(lambda (src test consequent alternate)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables 10)
src
test
@@ -67,19 +63,19 @@
alternate)))
(make-call
(lambda (src proc args)
- (make-struct/no-tail (vector-ref %expanded-vtables 11) src proc
args)))
+ (make-struct/simple (vector-ref %expanded-vtables 11) src proc args)))
(make-primcall
(lambda (src name args)
- (make-struct/no-tail (vector-ref %expanded-vtables 12) src name
args)))
+ (make-struct/simple (vector-ref %expanded-vtables 12) src name args)))
(make-seq
(lambda (src head tail)
- (make-struct/no-tail (vector-ref %expanded-vtables 13) src head
tail)))
+ (make-struct/simple (vector-ref %expanded-vtables 13) src head tail)))
(make-lambda
(lambda (src meta body)
- (make-struct/no-tail (vector-ref %expanded-vtables 14) src meta
body)))
+ (make-struct/simple (vector-ref %expanded-vtables 14) src meta body)))
(make-lambda-case
(lambda (src req opt rest kw inits gensyms body alternate)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables 15)
src
req
@@ -92,7 +88,7 @@
alternate)))
(make-let
(lambda (src names gensyms vals body)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables 16)
src
names
@@ -101,7 +97,7 @@
body)))
(make-letrec
(lambda (src in-order? names gensyms vals body)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables 17)
src
in-order?
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 262b4e7..adc6997 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -1,6 +1,6 @@
;;;; -*-scheme-*-
;;;;
-;;;; Copyright (C) 2001, 2003, 2006, 2009, 2010-2017
+;;;; Copyright (C) 2001, 2003, 2006, 2009, 2010-2018
;;;; Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
@@ -184,7 +184,7 @@
(sfields (map (lambda (f) (datum->syntax x f))
fields))
(ctor (datum->syntax x (symbol-append 'make- stem))))
(cons #`(define (#,ctor #,@sfields)
- (make-struct/no-tail
+ (make-struct/simple
(vector-ref %expanded-vtables #,n)
#,@sfields))
out)))