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

David Chase david.r.chase at oracle.com
Fri Aug 16 13:05:02 PDT 2013


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");
  }

> The fd::initialize call resets a fd previously pointing at a different field to a new field.
> This requires a shift in the field_holder.
> The call to initialize is fieldStreams.hpp, where a fd embedded in the stream object gets reused for successive fields.
> So I think this assert measures something meaningful.
> Perhaps the method should be named "reinitialize" or "reset" to emphasize the multiple use.
> 
> — John

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: Message signed with OpenPGP using GPGMail
Url : http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130816/a5754560/signature.asc 


More information about the hotspot-compiler-dev mailing list