A colleague wrote: I noticed another problem with the new cp/cpcache indexing separation if you run with -XX:+TraceNewOopMapGeneration. It sort of looks like a bootstrap issue.
[1] report_vm_error(file = 0xfe8c374a "/export/ws/symbols/src/share/vm/oops/constantPoolOop.cpp", line = 305, error_msg = 0xfe8c3783 "assert((int)(u2)cpc_index == cpc_index) failed", detail_msg = 0xfe8c37b2 "clean u2"), line 174 in "debug.cpp"
[2] constantPoolOopDesc::remap_instruction_operand_from_cache(this = 0xb669ae48, operand = 12), line 305 in "constantPoolOop.cpp"
=>[3] constantPoolOopDesc::impl_name_and_type_ref_index_at(this = 0xb669ae48, which = 12, uncached = false), line 275 in "constantPoolOop.cpp"
[4] constantPoolOopDesc::name_and_type_ref_index_at(this = 0xb669ae48, which = 12), line 464 in "constantPoolOop.hpp"
[5] GenerateOopMap::print_current_state(this = 0xb5e4c7e8, os = 0x8063168, currentBC = 0xb5e4c698, detailed = false), line 1291 in "generateOopMap.cpp"
[6] GenerateOopMap::interp1(this = 0xb5e4c7e8, itr = 0xb5e4c698), line 1304 in "generateOopMap.cpp"
[7] GenerateOopMap::interp_bb(this = 0xb5e4c7e8, bb = 0x80bbe48), line 1097 in "generateOopMap.cpp"
[8] GenerateOopMap::interp_all(this = 0xb5e4c7e8), line 1066 in "generateOopMap.cpp"
[9] GenerateOopMap::do_interpretation(this = 0xb5e4c7e8), line 889 in "generateOopMap.cpp"
[10] GenerateOopMap::compute_map(this = 0xb5e4c7e8, __the_thread__ = 0x81fac00), line 2074 in "generateOopMap.cpp"
[11] OopMapForCacheEntry::compute_map(this = 0xb5e4c7e8, __the_thread__ = 0x81fac00), line 99 in "oopMapCache.cpp"
[12] OopMapCacheEntry::fill(this = 0x82966e0, method = CLASS, bci = 44), line 384 in "oopMapCache.cpp"
[13] OopMapCache::lookup(this = 0x8277828, method = CLASS, bci = 44, entry_for = 0xb5e4ca14), line 597 in "oopMapCache.cpp"
[14] instanceKlass::mask_for(this = 0xb669b8c0, method = CLASS, bci = 44, entry_for = 0xb5e4ca14), line 721 in "instanceKlass.cpp"
[15] methodOopDesc::mask_for(this = 0xb669b728, bci = 44, mask = 0xb5e4ca14), line 158 in "methodOop.cpp"
[16] frame::oops_interpreted_do(this = 0xb5e4cafc, f = 0xfec73904, map = 0xb5e4cb14, query_oop_map_cache = true), line 924 in "frame.cpp"
[17] frame::oops_do_internal(this = 0xb5e4cafc, f = 0xfec73904, cf = (nil), map = 0xb5e4cb14, use_interpreter_oop_map_cache = true), line 1092 in "frame.cpp"
[18] frame::oops_do(this = 0xb5e4cafc, f = 0xfec73904, cf = (nil), map = 0xb5e4cb14), line 369 in "frame.hpp"
[19] JavaThread::oops_do(this = 0x8209c00, f = 0xfec73904, cf = (nil)), line 2401 in "thread.cpp"
[20] JavaThread::verify(this = 0x8209c00), line 2516 in "thread.cpp"
[21] Threads::verify(), line 4107 in "thread.cpp"
[22] Universe::verify(allow_dirty = true, silent = true, option = true), line 1224 in "universe.cpp"
[23] VMThread::run(this = 0x81fac00), line 272 in "vmThread.cpp"
[24] java_start(thread_addr = 0x81fac00), line 1010 in "os_solaris.cpp"
[25] _thr_setup(0xfd9d4a00), at 0xfeec59a9
[26] _lwp_start(0xfe140379, 0x589, 0xb5e4c548, 0xfdef833f, 0xb7, 0x0), at 0xfeec5c90