Changeset 14572


Ignore:
Timestamp:
08/10/13 08:24:46 (4 years ago)
Author:
mevenson
Message:

Make LispStackFrame?.UNAVAILABLE_ARG a singleton object,

Memory profiling of ABCL shows that the classes with largest
allocation count are LispStackFrame? and
LispStackFrame?.UnavailableArgument?.

Contributed by Dmitry Nadezhin.

Location:
trunk/abcl
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/nbproject/build-impl.xml

    r14217 r14572  
    371371        </condition>
    372372    </target>
     373    <target name="-init-test-properties">
     374        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
     375        <property name="test.binarytestincludes" value=""/>
     376        <property name="test.binaryexcludes" value=""/>
     377    </target>
    373378    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
    374379        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
     
    394399        </macrodef>
    395400    </target>
    396     <target if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
     401    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
    397402        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
    398403            <attribute default="${includes}" name="includes"/>
     
    407412                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
    408413                            <filename name="@{testincludes}"/>
     414                        </fileset>
     415                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
     416                            <filename name="${test.binarytestincludes}"/>
    409417                        </fileset>
    410418                    </batchtest>
     
    535543        </macrodef>
    536544    </target>
    537     <target if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
     545    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
    538546        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
    539547            <attribute default="${includes}" name="includes"/>
     
    548556                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
    549557                            <filename name="@{testincludes}"/>
     558                        </fileset>
     559                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
     560                            <filename name="${test.binarytestincludes}"/>
    550561                        </fileset>
    551562                    </batchtest>
     
    921932        <mkdir dir="${build.classes.dir}/META-INF"/>
    922933        <copy todir="${build.classes.dir}/META-INF">
    923             <fileset dir="${meta.inf.dir}" includes="persistence.xml"/>
     934            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
    924935        </copy>
    925936    </target>
  • trunk/abcl/nbproject/genfiles.properties

    r14217 r14572  
    55# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
    66nbproject/build-impl.xml.data.CRC32=742204ce
    7 nbproject/build-impl.xml.script.CRC32=1dc32654
    8 nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46
     7nbproject/build-impl.xml.script.CRC32=24124b35
     8nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
    99nbproject/profiler-build-impl.xml.data.CRC32=71623fcd
    1010nbproject/profiler-build-impl.xml.script.CRC32=abda56ed
  • trunk/abcl/src/org/armedbear/lisp/LispStackFrame.java

    r13440 r14572  
    4545  private final LispObject[] args;
    4646
    47   private final class UnavailableArgument extends LispObject
     47  private final static class UnavailableArgument extends LispObject
    4848  {
    4949    public UnavailableArgument () { }
     
    5454  }
    5555
    56   private final LispObject UNAVAILABLE_ARG = new UnavailableArgument();
     56  private final static LispObject UNAVAILABLE_ARG = new UnavailableArgument();
    5757
    5858  public LispStackFrame(LispObject operator)
Note: See TracChangeset for help on using the changeset viewer.