S RFR: 8010783: assert(s->refcount() !=0) failed

Karen Kinnear karen.kinnear at oracle.com
Wed May 1 14:14:43 PDT 2013


Vladimir,

Thank you for reporting the bug, the easy to reproduce test case and the review.

I added an evaluation to the bug report and am repeating it here:

Evaluation:
generate_default_methods adds new methods (overpass methods) which redirect you to
a default method in an interface. To do that, we need to both create new methods and create
a new constant pool, which is a merge of the existing constant pool and the new needed entries.

This specific code was taken from oops/constantPool.cpp incorrectly. The proper order
is to increment the refcount before updating the constant pool entry.

Default method bugs are showing up later than the vm changes, they are appearing as the
core libraries add incremental uses of default methods in interfaces and catch cases we missed.

thanks,
Karen

On May 1, 2013, at 3:37 PM, Vladimir Kozlov wrote:

> Looks good but it would be good to have evaluation of the problem.
> 
> Thanks,
> Vladimir
> 
> On 5/1/13 12:26 PM, Karen Kinnear wrote:
>> 
>> Please review for lambda:
>> 
>> http://cr.openjdk.java.net/~acorn/8010783/webrev/src/share/vm/classfile/bytecodeAssembler.cpp.sdiff.html
>> 
>> Passes test in bug report for fastdebug: java -XX:+CompileTheWorld -XX:+CompileTheWorldStartAt=12
>> -Xbootclasspath/p:interclient-core.jar
>> 
>> vm.quick.testlist, lang, vm jck's in progress on on linux-x64
>> 
>> thanks,
>> Karen
>> 



More information about the hotspot-runtime-dev mailing list