help on instruction scheduling of hotspot jvm
David.Holmes at oracle.com
Sun Sep 12 16:14:29 PDT 2010
ddmetro said the following on 09/13/10 08:14:
> I am working on multithreaded instruction scheduling on hotspot jvm. I have
> built the source code, however I have the following doubts:
> 1. I tried to look into instruction scheduling pass of Hotspot, but couldn't
> find any paper related to the same. Can you please direct me towards a paper
> that talks about instruction scheduling and thread scheduling in hotspot
Don't know about instruction scheduling (which is a compiler issue) but
thread scheduling is basically done using the OS default scheduling
mechanism. There are some settings you can adjust to change this, and
you can do things externally (ie run the JVM in particular scheduling
class) but they are not recommended and need to be used with extreme
care. Dave Dice has some blog articles on this:
> 2. I executed an applet using the j2sdk image's appletviewer. However, I am
> not able to get the starting point (main() method) for the same. Kindly
> provide the starting point.
Applets don't have a main() method. Applets are executed by a framework
and it is the framework that has the main() method. You'd have to look
at the AppletViewer class in this case.
> 3. I am assuming that the instruction scheduling will be done by the server
> side hotspot jvm and not the compiler (C2). Kindly confirm if my
> understanding is correct.
The Hotspot "server" VM is the Hotspot VM configured to run the C2
compiler. (The "client" VM runs the C1 compiler). Any instruction
scheduling would be done by the compiler, but questions on this are
better addressed to hotspot-compiler-dev - cc'ed.
> Also, I tried to search for documentation that maps the different
> phases(instruction scheduling, register allocation, etc) with the source
> code classes. However I wasn't able to find one. Kindly direct me to such
> documentation, if one exists.
There is not a lot of documentation for hotspot internals in general.
Again the compiler folk may be able to point you to documents or blog
entries that discuss this.
> Thanking You,
More information about the hotspot-dev