OpenJDK 8 and fastdebug
Volker Simonis
volker.simonis at gmail.com
Fri Apr 20 10:42:01 PDT 2012
Actually there is no.
But it's very easy to build hsdis - it's just one .c and one .h file.
You just need to build binutils for your platform first (.configure;
make) and than compile and link hsdis.c against libbfd.a, libopcodes.a
and libiberty.a from binutils.
This all can easily be done manually with just a few commands but it
would be of course much better if you could provide a patch for the
Makefile:)
On Fri, Apr 20, 2012 at 6:52 PM, Henri Gomez <henri.gomez at gmail.com> wrote:
> I'll look into build logs (thanks Jenkins)
>
> BTW, I didn't see OSX or Darwin support into hsdis Makefile.
>
> Le 20 avr. 2012 à 17:08, Volker Simonis <volker.simonis at gmail.com> a écrit :
>
>> 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