I’m still looking for a Review of this change (I know it’s nobody’s favorite 
code…).

Thanks,
/Staffan

On 20 dec 2013, at 12:58, Staffan Larsen <staffan.lar...@oracle.com> wrote:

> The DTrace static probe implementation in Hotspot was written with an earlier 
> version of DTrace. With newer versions, DTrace can create a header file from 
> the contents of the .d file that describes the probes. This newer version 
> (called USDT2) has been used on OS X. Because we have had both versions 
> active, the code has ended up looking ugly because of all the extra macros. 
> 
> This is a first step in cleaning that up by moving the solaris implementation 
> to use USDT2. The remaining step before USDT1 can be removed is to change the 
> Linux system tap implementation to also use USDT2.
> 
> What I have changed is:
> - Update the solaris dtrace.make to generate the header files. I have used 
> the same code as on bsd.
> - While I was there, I removed a lot of commented out code from the bsd 
> dtrace.make file.
> - Updated the hotspot.d files on bsd and solaris so that they have the same 
> contents.
> - Fixed some compilation errors in compileBroker.cpp with const char*.
> - May of the USDT2 macro invocations had an extra line break in them. This 
> both looked ugly and confused the solaris compiler, so I removed them. This 
> lead to a _lot_ of changes in jni.cpp - enough changes so that webrev 
> couldn’t handle it, which is why some of the webrev views are broken for this 
> file.
> - 
> 
> Testing: I have run the vm.dtrace.testlist on both Solaris and OS X.
> 
> webrev: http://cr.openjdk.java.net/~sla/8030812/webrev.00/
> bug: https://bugs.openjdk.java.net/browse/JDK-8030812
> 
> Thanks,
> /Staffan

Reply via email to