Request for review 7170638: Use DTRACE_PROBE[N] in JNI Set and SetStatic Field.
David Holmes
david.holmes at oracle.com
Wed Oct 3 06:00:54 PDT 2012
On 3/10/2012 10:48 PM, Mark Wielaard wrote:
> On Wed, 2012-10-03 at 22:18 +1000, David Holmes wrote:
>> If OPENJDK is set it should only ever be set to true. The
>> jdk/make/common/Defs.gmk file (as used by the top-level build) will set
>> it to true if the closed sources are not found:
>> [...]
>> Hotspot will default to a non-OPENJDK build unless OPENJDK has been set
>> to true, but that only potentially changes the set of sources that will
>> be built - if you don't have src/closed or make/closed repos then there
>> is no difference between the two builds. Unfortunately Coleen's change
>> in dtrace.make requires that OPENJDK be explicitly set to enable the SDT
>> probes.
>
> Aha. So the jdk tree and the hotspot tree don't use the same default
> value for OPENJDK if not set. That explains why the builds seemed to
> work fine for the jdk part (where OPENJDK is defined to true by
> default), but doesn't for the hotspot part (where OPENJDK isn't defined
> by default).
To be clear, when hotspot is built as part of a full build then it
should be being passed the OPENJDK variable. But I don't think it is,
which is a bug in the top-level make logic. It has been a harmless bug
to-date because, as I said, even if OPENJDK were not set, the absence of
the closed repos would cause hotspot to be built the same as-if OPENJDK
had been set,
> So if the build for hotspot can be changed to the same as
> the jdk tree default with OPENJDK=true then I think Coleen's change is
> fine.
>
> But I am not entirely sure where exactly the correct spot in the
> toplevel/hotspot make files is to set it.
Well in the new build system it is all be part of the "configuration"
and the problem doesn't exist.
To allow for the old build system, and for standalone builds within that
system, I think the hotspot/make/defs.make would have to duplicate the
logic that is in jdk/make/common/Defs.gmk.
Otherwise you need to set OPENJDK=true explicitly in your make
environment when doing a build.
David
> Thanks,
>
> Mark
More information about the hotspot-dev
mailing list