harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Gong (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-6291) Smallest classes set for customer application
Date Thu, 13 Aug 2009 01:25:14 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-6291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Daniel Gong updated HARMONY-6291:

    Attachment: minjretoolkit.zip

This one is the newest version of MinJreToolkit.

I've modified part of the source code to eliminate a bug I found when I was trying to run
the program from batch command in windows.

Next, I've improved the build.xml file. Now a distribution of MinJreToolkit can be created
by just a simple command "ant". Also you can restore the project to the initial status by
running "ant clean".

More, two simple bat file for windows has been implemented to let you launch the two java
program from everywhere as long as you add the bin directory of the distribution to PATH.

> Smallest classes set for customer application
> ---------------------------------------------
>                 Key: HARMONY-6291
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6291
>             Project: Harmony
>          Issue Type: New Feature
>          Components: Misc
>         Environment: Windows & Linux
>            Reporter: Daniel Gong
>         Attachments: minjretoolkit-new.tar.gz, minjretoolkit.tar.gz, minjretoolkit.zip,
> Now the MinJreToolkit is almost complete. It includes functional classes as well as command
line tool and ant task implemented based on them. More, for dynamic tracing, a jvmti agent
has been implemented. Both static analysis and dynamic tracing produce a type of result file
called cns (Class Name Set) file, which has an associated data structure called ClassNameSet
that can be created from a cns file, witten to a cns file and merged with a cns file. The
cns file in the conf directory contains the required classes for different jre implementations.
Now it only supports Harmony. 
> The toolkit can be used in two steps. First, employ both static analyzer and dynamic
tracer in the process of application development and test, and record necessary information
in several cns files. Second, employ the jre generator to merge these cns files and generate
a new jre from an original one.
> So far I have written a simple ant build file to handle the whole process including compile,
test, pack & javadoc. The compiling of the agent is not in because I'm still learning
ant usage. The test is also very simple, just a helloworld app:P
> To compile and use the agent: 
> windows: cl /EHsc -I %JAVA_HOME%\include\ -I %JAVA_HOME%\include\win32\ -LD ClassLoadTraceAgent.cpp
Main.cpp -FeAgent.dll
> linux: g++ -I ${JAVA_HOME}/include/ -I ${JAVA_HOME}/include/linux ClassLoadTraceAgent.cpp
Main.cpp -fPIC -shared -o libagent.so       
> usage: java -agentlib:Agent=[the path of the result cns file] [main class]
> I'll improve the toolkit by adding command line script, optimizing ant build, doing more
test and improve the algorithm if a better strategy is found.
> Everyone please feel free to give me advice or report bugs to me:)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message