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