Changeset 4731


Ignore:
Timestamp:
11/14/03 01:33:36 (18 years ago)
Author:
piso
Message:

nreverse(): optimization.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Cons.java

    r4730 r4731  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Cons.java,v 1.32 2003-11-14 01:16:52 piso Exp $
     5 * $Id: Cons.java,v 1.33 2003-11-14 01:33:36 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    191191    {
    192192        // Following code is adapted from CLISP.
    193         LispObject list3 = cdr;
    194         if (list3 instanceof Cons) {
    195             if (((Cons)list3).cdr instanceof Cons) {
    196                 Cons list1 = (Cons) list3;
    197                 LispObject list2 = NIL;
     193        if (cdr instanceof Cons) {
     194            Cons cons = (Cons) cdr;
     195            if (cons.cdr instanceof Cons) {
     196                Cons cons1 = cons;
     197                LispObject list = NIL;
    198198                do {
    199                     LispObject h = ((Cons)list3).cdr;
    200                     ((Cons)list3).cdr = list2;
    201                     list2 = list3;
    202                     list3 = h;
    203                 } while (((Cons)list3).cdr instanceof Cons);
    204                 cdr = list2;
    205                 list1.cdr = list3;
     199                    Cons h = (Cons) cons.cdr;
     200                    cons.cdr = list;
     201                    list = cons;
     202                    cons = h;
     203                } while (cons.cdr instanceof Cons);
     204                cdr = list;
     205                cons1.cdr = cons;
    206206            }
    207207            LispObject h = car;
    208             car = list3.car();
    209             list3.setCar(h);
     208            car = cons.car;
     209            cons.car = h;
    210210        }
    211211        return this;
Note: See TracChangeset for help on using the changeset viewer.