Changeset 5516


Ignore:
Timestamp:
Nov 7, 2006, 8:10:25 PM (18 years ago)
Author:
Gary Byers
Message:

Transform three-argument AREF->%AREF3, ASET->%ASET3.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/optimizers.lisp

    r5404 r5516  
    15691569                   type))) 
    15701570    (if (= 2 (length subscripts))
    1571       (setq call `(%aref2 ,a ,(car subscripts) ,(cadr subscripts))))
     1571      (setq call `(%aref2 ,a ,@subscripts))
     1572      (if (= 3 (length subscripts))
     1573        (setq call `(%aref3 ,a ,@subscripts))))
    15721574    (if useful
    15731575      `(the ,useful ,call)
     
    15771579(define-compiler-macro aset (&whole call a &rest subs&val)
    15781580  (if (= 3 (length subs&val))
    1579     `(%aset2 ,a ,(car subs&val) ,(cadr subs&val) ,(caddr subs&val))
    1580     call))
     1581    `(%aset2 ,a ,@subs&val)
     1582    (if (= 4 (length subs&val))
     1583      `(%aset3 ,a ,@subs&val)
     1584      call)))
    15811585
    15821586
Note: See TracChangeset for help on using the changeset viewer.