help on starting point of hotspot jvm

Christian Thalinger christian.thalinger at oracle.com
Thu Sep 23 00:38:09 PDT 2010


On Wed, 2010-09-22 at 17:02 -0700, ddmetro wrote:
> Hi All,
> 
> 1. I am trying to figure out the starting point (file whose main() method is
> invoked), when the following command is issued:
> >java Testfile
> I tried adding printfs to
> '/home/dhiraj/hotspot/icedtea/icedtea6-1.8/openjdk/hotspot/src/os/linux/launcher/java.c',
> however after executing the following command, the printfs didn't appear 
> >make hotspot
> 
> Question: am i trying with the incorrect starting point?

The source file mentioned above is the source for the development
launcher called "gamma".  The file you're searching for is part of JDK:

jdk/src/share/bin/java.c

> 
> 2. When i add printfs to the hotspot files, and execute
> >make hotspot
> the printfs don't appear. The build happens successfully and the libjvm.so
> at '/openjdk/build/linux-i586/j2re-image/lib/i386/server' is updated.
> 
> Question: kindly inform if i am missing out on anything here.

That's too hard to answer.  Maybe the code you're instrumenting is not
executed at all, or you're probably running (by accident?) the client
compiler, or...

> 
> 3. I am looking at instruction scheduling phase and came across compile.cpp
> and output.cpp classes at 'openjdk/hotspot/src/share/vm/opto/' location. 
> 
> Question: i am unable to figure out which class calls the 'Compile()' method
> of Compile class. kindly point out - what am i missing in here.

So you mean the Compile constructor?  I think what you are searching for
is:

src/share/vm/opto/c2compiler.cpp:111

> 
> 4. I am trying to relate thread scheduling and instruction scheduling (a
> thread calling DoScheduling() method per input file method)
> I tried looking into jvm_linux.cpp, os_linux.cpp and osThread_linux.hpp at
> '/openjdk/hotspot/src/os/linux/vm/' location.
> However, couldnt relate these files with a call to DoScheduling() method.
> 
> Question: Kindly help me relate thread scheduling and instruction
> scheduling.

I'm not sure I understand...

-- Christian



More information about the hotspot-compiler-dev mailing list