harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Regis Xu (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6291) Smallest classes set for customer application
Date Tue, 18 Aug 2009 06:13:14 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12744381#action_12744381

Regis Xu commented on HARMONY-6291:

Daniel, forgot to mention that, you included ant.jar and becl-5.2.jar in your patch, I didn't
commit them to repository, because it's not good way to track third party dependency in svn.
We can add prerequisites in README file or download them on demand, like Harmony did. 

> 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
>            Assignee: Regis Xu
>         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