~ubuntu-branches/ubuntu/trusty/mit-scheme/trusty

« back to all changes in this revision

Viewing changes to src/runtime/framex.scm

  • Committer: Bazaar Package Importer
  • Author(s): Chris Hanson
  • Date: 2010-03-10 02:00:45 UTC
  • mfrom: (1.1.7 upstream) (3.1.6 sid)
  • Revision ID: james.westby@ubuntu.com-20100310020045-4np1y3ro6sk2oz92
Tags: 9.0.1-1
* New upstream.
* debian/watch: Fix, previous version was broken.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#| -*-Scheme-*-
2
2
 
3
 
$Id: framex.scm,v 14.24 2008/01/30 20:02:30 cph Exp $
4
 
 
5
3
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
6
4
    1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
7
 
    2006, 2007, 2008 Massachusetts Institute of Technology
 
5
    2006, 2007, 2008, 2009, 2010 Massachusetts Institute of Technology
8
6
 
9
7
This file is part of MIT/GNU Scheme.
10
8
 
154
152
          undefined-environment
155
153
          undefined-expression))
156
154
 
157
 
(define ((method/compiler-reference scode-maker) frame)
158
 
  (values (scode-maker (stack-frame/ref frame 3))
159
 
          (stack-frame/ref frame 2)
160
 
          undefined-expression))
161
 
 
162
 
(define ((method/compiler-assignment scode-maker) frame)
163
 
  (values (scode-maker (stack-frame/ref frame 3)
164
 
                       (make-evaluated-object (stack-frame/ref frame 4)))
165
 
          (stack-frame/ref frame 2)
166
 
          undefined-expression))
167
 
 
168
155
(define ((method/compiler-reference-trap scode-maker) frame)
169
156
  (values (scode-maker (stack-frame/ref frame 2))
170
157
          (stack-frame/ref frame 3)
176
163
          (stack-frame/ref frame 3)
177
164
          undefined-expression))
178
165
 
179
 
(define (method/compiler-lookup-apply-restart frame)
180
 
  (values (%make-combination (stack-frame/ref frame 3)
181
 
                             (stack-frame-list frame 5))
182
 
          undefined-environment
183
 
          undefined-expression))
184
 
 
185
166
(define (method/compiler-lookup-apply-trap-restart frame)
186
167
  (values (%make-combination (make-variable (stack-frame/ref frame 2))
187
168
                             (stack-frame-list frame 6))
331
312
  (let ((method (method/application-frame 3)))
332
313
    (record-method 'INTERNAL-APPLY method)
333
314
    (record-method 'INTERNAL-APPLY-VAL method))
334
 
  (let ((method (method/compiler-reference identity-procedure)))
335
 
    (record-method 'COMPILER-REFERENCE-RESTART method)
336
 
    (record-method 'COMPILER-SAFE-REFERENCE-RESTART method))
337
 
  (record-method 'COMPILER-ACCESS-RESTART
338
 
                 (method/compiler-reference make-variable))
339
 
  (record-method 'COMPILER-UNASSIGNED?-RESTART
340
 
                 (method/compiler-reference make-unassigned?))
341
 
  (record-method 'COMPILER-UNBOUND?-RESTART
342
 
                 (method/compiler-reference
343
 
                  (lambda (name)
344
 
                    (%make-combination (ucode-primitive lexical-unbound?)
345
 
                                       (list (make-the-environment) name)))))
346
 
  (record-method 'COMPILER-ASSIGNMENT-RESTART
347
 
                 (method/compiler-assignment make-assignment-from-variable))
348
 
  (record-method 'COMPILER-DEFINITION-RESTART
349
 
                 (method/compiler-assignment make-definition))
350
315
  (let ((method (method/compiler-reference-trap make-variable)))
351
316
    (record-method 'COMPILER-REFERENCE-TRAP-RESTART method)
352
317
    (record-method 'COMPILER-SAFE-REFERENCE-TRAP-RESTART method))
354
319
                 (method/compiler-reference-trap make-unassigned?))
355
320
  (record-method 'COMPILER-ASSIGNMENT-TRAP-RESTART
356
321
                 (method/compiler-assignment-trap make-assignment))
357
 
  (record-method 'COMPILER-LOOKUP-APPLY-RESTART
358
 
                 method/compiler-lookup-apply-restart)
359
322
  (record-method 'COMPILER-LOOKUP-APPLY-TRAP-RESTART
360
323
                 method/compiler-lookup-apply-trap-restart)
361
324
  (record-method 'COMPILER-OPERATOR-LOOKUP-TRAP-RESTART