S RFR: 8010783: assert(s->refcount() !=0) failed
Daniel D. Daugherty
daniel.daugherty at oracle.com
Wed May 1 12:42:45 PDT 2013
On 5/1/13 1: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
src/share/vm/classfile/bytecodeAssembler.cpp
Swapping the order of the 'symbol_at_put()' and 'increment_refcount()'
calls is simple enough. That should make this assert() happy:
src/share/vm/oops/constantPool.hpp:
308 void symbol_at_put(int which, Symbol* s) {
309 assert(s->refcount() != 0, "should have nonzero refcount");
by making sure the entry is marked as in-use before it is 'put'
somewhere.
However, Vladimir's comment and the stack trace in the bug report
made me wonder if we were doing some default method processing on
classes that didn't need it. Perhaps there are two issues here?
Thumbs up, if we don't have two bugs here.
Dan
>
> 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