On Tue, Mar 31, 2009 at 12:19 PM, Mike <[email protected]> wrote: > I've been considering dynamic load tracing method these days. It seems > that we have to do a hack on the drlvm's classloader? Did drlvm provide > us a hook for tracing which class is loaded?
Yes, this is a standard JVMTI interface. (Well, this project may not depend on JVMTI.) > Thanks. > Mike > > 在 2009-03-31二的 12:17 +0800,Xiao-Feng Li写道: >> One another thing is the consideration of dynamic class loading. >> >> Thanks, >> xiaofeng >> >> On Mon, Mar 30, 2009 at 11:57 PM, Jimmy,Jing Lv <[email protected]> wrote: >> > Wow the plan's excellent Daniel! >> > >> > And an advanced question, as you know, the jre does not only have classes, >> > but also resources files, property files and etc. So do you have any ideas >> > on select them and merge into the customized JRE? :) >> > >> > 2009/3/30 Daniel Gong <[email protected]> >> > >> >> Hi all, >> >> I'm a postgraduate student from Fudan University, Shanghai, China. >> >> This is my first time joining GSoC and I was not quite clear that I >> >> should exchange my ideas with possible mentors. I've submitted my proposal >> >> today. It's lucky that I can still modify it. >> >> Here is my proposal, any criticism and suggestions are welcome~ >> >> >> >> ===================================================== >> >> >> >> *Abstract:* >> >> >> >> The main idea to deal with the subject is to collect infomation from the >> >> input first and then generate smallest JRE according to the infomation >> >> collected and harmony classes dependences. >> >> >> >> *Detailed Description:* >> >> >> >> The implementation of the tool can be divided into 4 parts: >> >> >> >> 1. Infomation Collector. Automatic lexcial tool such as JLex may be used >> >> to analysis the input code and collect infomation including which >> >> classes >> >> in >> >> JRE does the project depend on. >> >> 2. Data structure design. Both project-jre class dependence and jre >> >> inner >> >> class dependence should be represented in an uniform way. >> >> 3. Class Lister. An algorithm should be designed to compute with the >> >> dependence and list out the classes needed in the smallest JRE. >> >> 4. JRE Builder. Build a JRE according to the class list. >> >> >> >> *Initial* *Algorithm Design* >> >> >> >> Use a, b to represent two classes, and <a, b> to represent a relation >> >> between a & b, that is, a depends on b, in other words, b is refered in >> >> source code of a. >> >> >> >> 1. Given a project with its class set P, let set S = P and set M = >> >> empty. >> >> >> >> 2. For each class c in S, search for dependence <c, *>, and for each d >> >> that <c, d> exists and d is not in M, put d in S. After searching for >> >> <c, >> >> *>, put c in M and delete it from S. >> >> 3. Loop step 2 until S is empty, return M - P. >> >> >> >> Here a project's class set includes its customized classes and classes in >> >> other packages that the project may link to. >> >> >> >> *Possible problems to solve* >> >> >> >> To collect the infomation, just reading the "import" part of the code is >> >> not >> >> a precise strategy. A lexicial scan of the code from begin to end is a >> >> must. >> >> Automatic lexcial tools can be used to solve the problem. >> >> >> >> JRE is not just a simple collection of classes needed. Getting familiar >> >> with >> >> the structure of Harmony JRE is a must. >> >> >> >> *Draft Timeline* >> >> >> >> - Week 1-2 Complete the design of data structure and the algorithm; >> >> - Week 3-4 Implement the module of infomation collector; >> >> - Week 5-6 Implement the algorithm to list out the classes; >> >> - Week 7-8 Implement the JRE builder; >> >> - Week 9 Debug the whole module and make necessary modifications >> >> to successfully complete the subject. >> >> >> >> *Additional Information:* >> >> >> >> I've been learning and using Java since 3 years ago. Although my >> >> experience of Harmony is not that vast, my knowledge in programming, >> >> software architecture, compiler building and algorithm can help me to >> >> learn >> >> fast and handle the problem. >> >> >> >> I'm 23 years old, living in Shanghai, China, attending Fudan University. >> >> >> >> ===================================================== >> >> >> > >> > >> > >> > -- >> > >> > Best Regards! >> > >> > Jimmy, Jing Lv >> > China Software Development Lab, IBM >> > >> >> >> > > -- http://people.apache.org/~xli
