OpenJDK 8 and fastdebug

Volker Simonis volker.simonis at gmail.com
Fri Apr 20 08:08:04 PDT 2012


Somehow you managed to build a "fastdebug" JDK with a still optimized
HotSpot VM:

OpenJDK 64-Bit Server VM (build 24.0-b04, mixed mode)

For -XX:+PrintOptoAssembly to work, you need a debug or fastdebug VM:

OpenJDK 64-Bit Server VM (build 22.0-b01-internal-jvmg, mixed mode)

You can easily build it from hotspot/src/make with these commands

ALT_BOOTDIR=<java_7_directory>
ALT_OUTPUTDIR=<your_favourite_output_dir> make jvmg
ALT_BOOTDIR=<java_7_directory>
ALT_OUTPUTDIR=<your_favourite_output_dir> make fastdebug

for the debug and fastdebug case.

Or you can try to find out why SKIP_FASTDEBUG_BUILD=false hasn't been
properly propagated into the HotSpot make file:)

Regards,
Volker

On Fri, Apr 20, 2012 at 1:58 PM, Henri Gomez <henri.gomez at gmail.com> wrote:
> Well, it seems my build is not fully debug enabled :
>
> java -version -XX:+PrintOptoAssembly
> openjdk version "1.8.0-jdk8-b30-x64-lambda-fastdebug"
> OpenJDK Runtime Environment (build 1.8.0-jdk8-b30-x64-lambda-fastdebug-20120420)
> OpenJDK 64-Bit Server VM (build 24.0-b04, mixed mode)
>
> ---
>
> java -XX:+PrintOptoAssembly
> Unrecognized VM option 'PrintOptoAssembly'
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.
>
> ---
>
> java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly
> OpenJDK 64-Bit Server VM warning: PrintAssembly is enabled; turning on
> DebugNonSafepoints to gain additional output
> Could not load hsdis-amd64.dylib; library not loadable; PrintAssembly
> is disabled
> Syntaxe : java [-options] class [args...]
>
> Hum ;-(
>
> 2012/4/20 Remi Forax <forax at univ-mlv.fr>:
>> Just hsdis, but maybe the one from Graal that use a better assembler syntax.
>>
>> Rémi
>>
>> Sent from my Phone
>>
>> ----- Reply message -----
>> From: "Krystal Mok" <rednaxelafx at gmail.com>
>> To: "Remi Forax" <forax at univ-mlv.fr>
>> Cc: <jdk8-dev at openjdk.java.net>
>> Subject: OpenJDK 8 and fastdebug
>> Date: Fri, Apr 20, 2012 09:44
>> I see. That makes sense.BTW, is it hsdis, or is there a new disassembler plugin?
>>
>> - Kris
>>
>> On Fri, Apr 20, 2012 at 3:35 PM, Remi Forax <forax at univ-mlv.fr> wrote:
>>
>> The idea is to bundle jadis with the fast debug VM.
>>
>> Rémi
>>
>> Sent from my Phone
>>
>>
>> ----- Reply message -----
>> From: "Krystal Mok" <rednaxelafx at gmail.com>
>> To: "Rémi Forax" <forax at univ-mlv.fr>
>>
>> Cc: <jdk8-dev at openjdk.java.net>
>> Subject: OpenJDK 8 and fastdebug
>> Date: Fri, Apr 20, 2012 08:55
>>
>>
>> PrintAssembly is available in product builds, too. You'll just need to set -XX:+UnlockDiagnosticVMOptions before setting -XX:+PrintAssembly.
>>
>> On the other hand, -XX:+PrintOptoAssembly is only available in a debug build.
>>
>> - Kris
>>
>> On Fri, Apr 20, 2012 at 2:00 PM, Rémi Forax <forax at univ-mlv.fr> wrote:
>>
>>
>> On 04/20/2012 07:28 AM, Henri Gomez wrote:
>>
>>
>> Just set
>>
>>
>>
>> SKIP_FASTDEBUG_BUILD=false
>>
>>
>>
>> (I don't know what role DEBUG_NAME plays)
>>
>>
>>
>>
>>
>>
>> Relative question, how can I check a java exec is in fastdebug mode ?
>>
>>
>>
>>
>> Check "java -version", it will show it is fastdebug.
>>
>>
>> It seems good (http://openjdk-osx-build.googlecode.com/files/OpenJDK-OSX-8-x64-lambda-fastdebug-jdk-b30-20120420.dmg)
>>
>>
>>
>>
>>
>> openjdk version "1.8.0-jdk8-b30-x64-lambda-fastdebug"
>>
>> OpenJDK Runtime Environment (build 1.8.0-jdk8-b30-x64-lambda-fastdebug-20120420)
>>
>> OpenJDK 64-Bit Server VM (build 24.0-b04, mixed mode)
>>
>>
>>
>> Thanks
>>
>>
>>
>>
>> Many thanks, Henry,
>>
>> now people can use -XX:+PrintAssembly :)
>>
>>
>>
>> Rémi


More information about the jdk8-dev mailing list