debug in hotspot
xerox.time.tech at gmail.com
Thu May 3 17:48:54 PDT 2012
On Thu, May 3, 2012 at 8:45 PM, Xin Tong <xerox.time.tech at gmail.com> wrote:
> On Thu, May 3, 2012 at 8:29 PM, Krystal Mok <rednaxelafx at gmail.com> wrote:
>> On 2012-5-4, at 8:16, Xin Tong <xerox.time.tech at gmail.com> wrote:
>>> i would like to know how to debug in hotspot, what are some of the
>>> standard procedures ? Lets say, the hotspot fails to run a Java
>>> program. a few steps to triage the problem.
>>> 1. disable JIT compilers. hotspot has 2 compilers c1 and c2. they are
>>> both used if TieredCompilation is enabled. How do I disable both of
>> It's there in the globals.hpp file: -XX:-UseCompiler
>>> 2. if the Java program passes after the JIT is disabled. There is a
>>> good chance that the problem is cause by the JIT. I want to narrow
>>> down to a specific method, I can use PrintCompilation to find out all
>>> the method compiled, but how can I disable one specific method from
>>> being compiled.
>> Or an equivalent .hotspot_compiler configuration file.
>> Read this thread for example (in Chinese): http://hllvm.group.iteye.com/group/topic/28201
By the way, one thing we can do here is to force c1 to compile a
method. i.e. c2 is more likely to fail than c1 as it does more
optimizations. how do i force c1 to compile a method ? and how do i
know which compiler is used to compile a method in the
PrintCompilation log or through any other options ?
>>> 3. if i am able to limit down to a specific method, i want to start
>>> disabling optimizations, is there an option to disable all
>>> optimizations in the c1 and c2 compilers, or i need to do it manually
>> I don't think there's an all-in-one flag to turn all optimizations off. At least not for now.
>> See c1_globals.hpp and c2_globals.hpp to get an idea of what optimizations you can turn off.
>> - Kris
> Thank you very much Kris. This is very helpful.
More information about the hotspot-compiler-dev