review request for JDK-8013461 There is a symbol AsyncGetCallTrace in libjvm.symbols that does not exist in minimal/libjvm.a when DEBUG_LEVEL == release

JOSEPH PROVINO joseph.provino at oracle.com
Tue May 21 08:35:14 PDT 2013


On 5/21/2013 3:06 AM, David Holmes wrote:
> Hi Staffan,
>
> On 21/05/2013 4:49 PM, Staffan Larsen wrote:
>>
>> On 21 maj 2013, at 04:34, David Holmes <David.Holmes at oracle.com> wrote:
>>
>>> <added servicability>
>>>
>>> Hi Joe,
>>>
>>> As I have previously stated you copied the struct definitions 
>>> instead of moving them outside the ifdef.
>>>
>>> Serviceability folk: we are particularly interested in whether the 
>>> use of ticks_no_class_load is deemed appropriate in this situation. 
>>> Who will be consuming this value?
>>
>> Since you have opted for the simple fix of having an exported but 
>> non-functional AsyncGetCallTrace instead of actually removing the 
>> symbol from the symbol files (which is the proposed solution in the 
>> bug report),
>
> That would be a simpler solution semantically but the only way I can 
> see to do that is to use a text replacement mechanism in the build 
> files - as is done for the dynamic vtable symbols. I find that less 
> appealing than simply exporting an interface that is configured to 
> report an error (which is essentially what all the optional interfaces 
> do under the minimal VM).
>
>> I would like you to include a comment about this in the source. Right 
>> now it's very unclear why there is an exported function that only 
>> returns an error.
>>
>> As to the appropriate return value, I don't know. The only caller 
>> should be the Sun Studio profiler, and I'm not sure how it will 
>> handle this case if ever run. The possible return values aren't very 
>> well documented.
>
> I guess we need to try and run it to find out.

Okay, do either of you feel strongly about how this should be fixed -- 
return an error or remove the symbol?

joe

>
> Thanks,
> David
>
>> /Staffan
>>
>>>
>>> Thanks,
>>> David
>>>
>>> On 21/05/2013 5:10 AM, JOSEPH PROVINO wrote:
>>>> The change is to include forte.cpp in the minimal jvm but to
>>>> conditionalize the code so that
>>>> only AsyncGetCallTrace() is defined with the minimal jvm.
>>>>
>>>> Webrev is here: 
>>>> http://cr.openjdk.java.net/~jprovino/8013461/webrev.00/
>>>>
>>>>   * JDK-8013461 
>>>> <https://jbs.oracle.com/bugs/browse/JDK-8013461>There is
>>>>     a symbol AsyncGetCallTrace in libjvm.symbols that does not 
>>>> exist in
>>>>     minimal/libjvm.a when DEBUG_LEVEL == release
>>>>     <https://jbs.oracle.com/bugs/browse/JDK-8013461>
>>>>
>>>> Thanks.
>>>>
>>>> joe
>>>>
>>>>
>>



More information about the serviceability-dev mailing list