RFR(M) : 7104565 : trim jprt build targets

David Holmes david.holmes at oracle.com
Tue Apr 9 22:34:18 PDT 2013

On 10/04/2013 2:41 PM, Vladimir Kozlov wrote:
> David, the only difference between debug and fastdebug VM builds should
> be optimization level.


Looking at stackMapFrame.hpp the changeset that added the "ifdef DEBUG" was


and it seems to me that perhaps it should have been
"ifndef PRODUCT" based on the fact that it appears to be a refactoring 
of NOT_PRODUCT code. (The only difference being whether or not it is 
included in the optimized build.)


> The fastdebug VM uses the same -O4 (or -O3) as
> product build which forces inlining and other optimization and helps
> with VM speed. Debug VM compiled without any optimizations and does not
> inline (we need this to be able debug). It is a lot slower then
> fastdebug VM and because of that can't be used for testing. There should
> be no other differences between debug and fastdebug VM.
> All checks done in debug VM should be done in fastdebug VM, period!
>>>> The changes in src/share/vm/shark/llvmHeaders.hpp need to be confirmed
>>>> by the shark folk (if they haven't already). (And of course depend on
>>>> -DDEBUG being eradicated.)
>>> Oracle is not supporting shark! They are on this mailing alias. We
>>> discussing this for long time already. We hear nothing from them. If
>>> they find problems later they will send a patch and we use it.
>> As long as this shouldn't break their build (which it shouldn't). But
>> based on that view you could have simply left this untouched.
> It looks like that code tries to preserve our DEBUG across llvm include
> files. Yes, you are right - we can leave it.
> David C., please, undo changes in llvmHeaders.hpp.
> Thanks,
> Vladimir
>> Thanks,
>> David
>>> Thanks,
>>> Vladimir
>>>> Thanks,
>>>> David
>>>> -----
>>>> On 10/04/2013 9:01 AM, David Chase wrote:
>>>>> On 2013-04-09, at 5:26 PM, Vladimir Kozlov
>>>>> <vladimir.kozlov at oracle.com> wrote:
>>>>>> One note: in frame_sparc.cpp remove 'jvmg' in the line you modified
>>>>>> since we will not build jvmg.
>>>>> done
>>>>>> And question: did you use mercurial commands to remove and rename
>>>>>> jvm.make and debug.make? We need to use hg commands to preserve
>>>>>> changes history for jvmg.make (it has more changesets then old
>>>>>> debug.make).
>>>>>> I just want to confirm because sometimes webrev may not show
>>>>>> correctly what was done to sources. I mean you need to do:
>>>>>> hg remove debug.make
>>>>>> hg rename jvmg.make debug.make
>>>>>> and then edit debug.make
>>>>> To be sure:
>>>>> 10009  hg revert make/{solaris,bsd,linux}/makefiles/jvmg.make
>>>>> 10010  zip -9 ../safemakes.zip
>>>>> make/{solaris,bsd,linux}/makefiles/debug.make
>>>>> 10011  hg revert make/{solaris,bsd,linux}/makefiles/debug.make
>>>>> 10012  hg remove make/{solaris,bsd,linux}/makefiles/debug.make
>>>>> 10013  for i in solaris bsd linux ; do hg rename
>>>>> make/$i/makefiles/{jvmg,debug}.make; done
>>>>> 10014  unzip -l ../safemakes.zip
>>>>> 10015  unzip ../safemakes.zip
>>>>> And the new-and-improved diffs:
>>>>> http://cr.openjdk.java.net/~drchase/7104565/webrev.06-new/

More information about the hotspot-dev mailing list