RFR (L) : 8014013 : CallInfo structure no longer accurately reports the result of a LinkResolver operation

Christian Thalinger christian.thalinger at oracle.com
Mon Aug 19 15:15:43 PDT 2013


Looks good.  -- Chris

On Aug 19, 2013, at 11:13 AM, David Chase <david.r.chase at oracle.com> wrote:

> New version, with Christian's and John's fixes (and limited use of err_msg_res):
> 
> http://cr.openjdk.java.net/~drchase/8014013/webrev.03/
> 
> retested (jtreg) on Mac against hotspot/test/compiler, jdk/test/{jdk,java/util}
> 
> David
> 
> 
> On 2013-08-19, at 12:04 AM, David Holmes <david.holmes at oracle.com> wrote:
> 
>> On 19/08/2013 8:24 AM, David Chase wrote:
>>> A question about err_msg_res -- should that generally be used in place of err_msg,
>>> or only in certain source directories, and if so, which ones?
>> 
>> I can't answer that but be aware that there is an issue with using err_msg_res as it is unclear as to whom has responsibility for ensuring there is a ResourceMark on the stack. There's an open bug on that - 8022187.
>> 
>> David
>> 
>>> On 2013-08-17, at 1:41 AM, John Rose <john.r.rose at oracle.com> wrote:
>>> 
>>>> On Aug 16, 2013, at 1:05 PM, David Chase <david.r.chase at oracle.com> wrote:
>>>> 
>>>>> How does this look?
>>>>> 
>>>>> void fieldDescriptor::reinitialize(InstanceKlass* ik, int index) {
>>>>> if (_cp.is_null() || field_holder() != ik) {
>>>>>   _cp = constantPoolHandle(Thread::current(), ik->constants());
>>>>>   // _cp should now reference ik's constant pool; i.e., ik is now field_holder.
>>>>>   assert(field_holder() == ik, "must be already initialized to this class");
>>>> 
>>>> Good.
>>>> 
>>>> As a side note, this bit of code (and many others) assume that there is a 1-1 correspondence between constant pools and instance klasses.
>>>> 
>>>> I hope we can change this some day; the tracking bug is http://bugs.sun.com/view_bug.do?bug_id=6711913
>>>> 
>>>> — John
>>> 
> 



More information about the hotspot-compiler-dev mailing list