Review Request: Zero and Shark fixes

Gary Benson gbenson at
Tue Nov 23 03:51:34 PST 2010

Christian Thalinger wrote:
> hotspot/src/share/vm/compiler/compileBroker.cpp:
>  541 #else // SHARK
>  542   int c1_count = 0;
>  543   int c2_count = 1;
>  544
>  545   _compilers[1] = new SharkCompiler();
>  546 #endif // SHARK
> Does that mean you can compile now a client and server VM with Shark
> enabled?  What happens in a client VM since compiler[0] seems not to
> be set?

No, you can't use Shark with the other compilers, the calling
conventions are different (and, for non-x86 and non-sparc, not even
there).  This code is a little bit of a hack in that it slots Shark
into the space normally used by the server compiler.  The alternative
would be to make a third "tier" for Shark, but that would be a lot of
changes in a lot of places.  I thought this way would be easier for
you guys, but I'm happy to rewrite it if you prefer.

_compilers is a static field, so it is zeroed when it is allocated.
The code above the section in the patch relies on this too.



More information about the hotspot-compiler-dev mailing list