On 21 maj 2013, at 18:33, Kelly O'Hair <kellyoh...@gmail.com> wrote:

> http://jeremymanson.blogspot.com/2007/05/profiling-with-jvmtijvmpi-sigprof-and.html
> http://stackoverflow.com/questions/3426537/how-to-properly-write-a-sigprof-handler-that-invokes-asyncgetcalltrace
> http://hiroshiyamauchi.blogspot.com/2008/12/stabilizing-asyncgetcalltrace.html
> 
> The AsyncGetCallTrace symbol is a public extern symbol, unfortunately.
> So there may be third party shared libraries dependent on the extern, and 
> optionally calling it.
> Removing the symbol will prevent those libraries from linking into the VM, 
> even if they don't call it.

I'm willing to break this compatibility for the minimal JVM, given that it's 
never been supported or official in any way.

/Staffan

> 
> Just FYI...
> 
> -kto
> 
> On May 21, 2013, at 8:35 AM, JOSEPH PROVINO wrote:
> 
>> 
>> 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.hol...@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
>>>>>> 
>>>>>> 
>>>> 
>> 
> 

Reply via email to