harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Regis <xu.re...@gmail.com>
Subject Re: [GSOC] The code for smallest class set for customer application in now on JIRA
Date Thu, 13 Aug 2009 02:36:20 GMT
Daniel Gong wrote:
> On Thu, Aug 6, 2009 at 10:55 AM, Regis <xu.regis@gmail.com> wrote:
> 
>> Daniel Gong wrote:
>>
>>> Yes it is the problem of  the build file, I have correct it and  upload a
>>> new one:)
>>> To run it, you should modify the origin and target property in the build
>>> file to your origin jre path and the target min jre path.
>>> More, I have updated the description. Hope it will help you all and work
>>> well:)
>>>
>>> On Wed, Aug 5, 2009 at 4:40 PM, Regis <xu.regis@gmail.com> wrote:
>>>
>>>  Daniel Gong wrote:
>>>>  Sorry, that's my fault. It seems I have put the wrong version of ant
>>>>> build...I will correct it and upload it again.
>>>>>
>>>>>  It seems not a problem of ant, when I removed takedef of "analyze" and
>>>> "gen", ant compile work correct, but ant test-hello (which only depends
>>>> on
>>>> compile), reported error again:
>>>>
>>>> C:\download\minijre\build.xml:56: Execute failed: java.io.IOException:
>>>> Cannot run program "${target}
>>>> \bin\java": CreateProcess error=2, The system cannot find the file
>>>> specified
>>>>
>>>> And I found ${target} is never defined, do you mean ${target.dir} here?
>>>> ${cns} ${origin} ${test} should also be ${cns.dir} ${origin.dir}
>>>> ${test.dir}
>>>>
>>>> After fixing these variables and copy Harmony JRE to "origin" dir, I can
>>>> run "ant test-hello" successfully. The target directory should be
>>>> minijre,
>>>> the size of "lib" is reduced from 40.1MB to 10.4MB, looks great!!
>>>>
>>>> I'm waiting Daniel's description, so didn't try the agent yet :)
>>>>
>>>>
>>>>
>>>>  On Wed, Aug 5, 2009 at 3:44 PM, Regis <xu.regis@gmail.com> wrote:
>>>>>  Daniel Gong wrote:
>>>>>
>>>>>>  Hi all,
>>>>>>
>>>>>>> I have my code attached in issue HARMONY-6291 on JIRA. I'd like
to
>>>>>>> call
>>>>>>> it
>>>>>>> MinJre Toolkit.
>>>>>>>
>>>>>>> Now the coding of 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
>>>>>>>
>>>>>>> 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~thx:)
>>>>>>>
>>>>>>> Daniel Gong
>>>>>>>
>>>>>>>
>>>>>>>  Well done Daniel!
>>>>>>>
>>>>>> I'm trying to build the tool. I downloaded minjretoolkit.tar.gz from
>>>>>> HARMONY-6291, and extract it, then run "ant" or "ant compile", but
got
>>>>>> a
>>>>>> error:
>>>>>>
>>>>>> c:\download\minijre\build.xml:23: taskdef class
>>>>>> org.crazynut.harmony.minjre.anttask.AnalyzeDependenc
>>>>>> yTask cannot be found
>>>>>>
>>>>>> Did I miss anything?
>>>>>>
>>>>>> --
>>>>>> Best Regards,
>>>>>> Regis.
>>>>>>
>>>>>>
>>>>>>  --
>>>> Best Regards,
>>>> Regis.
>>>>
>>>>
>> I tried the new one, the build script worked fine for me. Following the
>> instructions on JIRA, I generated dynamic trace by agent and merged with
>> static one successfully, seems you have finished the core part of this tool,
>> well done!!
>>
>> While there are still places can be improved:
> 
> Dear all,
> 
> 1. add build scrip for native code, "ant compile" will compile both java and
> native.
> 
> Done.
> 
> 2. -agentlib:Agent=help print help info about how to use this agent. I you
> type java -agentlib:jdwp=help to see the example. The options of agent
> usually is name=value pattern, maybe something like: java
> -agentlib:Agent=tracefile=[filename]
> 
> Done. Usage: java -agentlib:tracer=output=[filename]
> 
> The zip file attached to HARMONY-6291 is the newest version of MinJre
> Toolkit.
> 
> The ant build file can compile and test jvmti agent now.
> 
> I have tested it under Windows XP SP3 & Ubuntu 9.04.
> 
> The script directory is command line launcher for the analyzer and jregen,
> not implemented yet, but in my plan.
> 
> Best Regards,
> 
> Daniel Gong
> 

Hi Daniel,

The new package on JIRA is good! I tried on Windows XP and Ubuntu 8.04.2, all 
worked fine except when trying to run generated java, it complained "Permission 
denied", after I added execution permission, it worked smoothly.

I think it's time to integrate  Daniel's work to Harmony repository, so Daniel 
can work with community easily and closely, and also anyone interested on this 
could work on this. If no one object I'm going to apply HARMONY-6291 to [1].


[1] https://svn.apache.org/repos/asf/harmony/enhanced/tools/trunk/minijre

-- 
Best Regards,
Regis.

Mime
View raw message