On 29 jan 2014, at 02:03, [email protected] wrote:
> Hi Staffan,
>
> Sorry for being late, I thought it was already reviewed. :)
>
> It looks good, just a minor question below.
Thanks!
> make/bsd/makefiles/dtrace.make
>
> Can this line be removed as it is not used in this file anymore?
> 55 DTRACE_SRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/dtrace
It is actually still used. Or actually not. It’s complicated and messy.
The bsd makefile has a lot of logic in it that was copied from the solaris
makefiles for building jvm_db. But, jvm_db isn't used on OS X (there is no
support for ustack helpers) so all that logic is never called from vm.make when
building on OS X:
ifeq ($(OS_VENDOR), Darwin)
# no libjvm_db for macosx
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck
echo "Doing vm.make build:"
else
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
endif
So you might think that it would be built on other BSDs. But it isn’t because
the whole jvm_db building stuff in dtrace.make is conditional on only building
on OS X:
ifeq ($(OS_VENDOR), Darwin)
In short: it’s a mess. I didn’t clean this up, but maybe a future change will.
Or maybe the hotspot makefile rewrite will.
Thanks,
/Staffan
>
> Thanks,
> Serguei
>
>
> On 1/28/14 12:52 AM, Staffan Larsen wrote:
>> Still looking for reviewers for this change.
>>
>> Thanks,
>> /Staffan
>>
>> On 23 jan 2014, at 08:36, Staffan Larsen <[email protected]> wrote:
>>
>>> The only usage today of the DTrace macros under the USDT1 define is the SDT
>>> provider on linux. This can be changed to use the USDT2 style by
>>> preprocessing the .d files into .h files with the dtrace utility in the
>>> same way as we do on solaris and OS X.
>>>
>>> I have also moved the provider definition files (hotspot.d, hotspot_jni.d
>>> and hs_private.d) to a common directory instead of having one identical
>>> copy per platform.
>>>
>>> I would really like to have a review from somebody on the IcedTea team
>>> since I haven’t been able to fully verify this change by running systemtap.
>>>
>>> Once this change is done, we can proceed to remove the USDT1 style macros.
>>>
>>> webrev: http://cr.openjdk.java.net/~sla/8032462/webrev.00/
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8032462
>>>
>>> testing: vm.dtrace.testlist in nsk
>>>
>>> Thanks,
>>> /Staffan
>