comparison src/share/vm/prims/methodHandleWalk.cpp @ 3748:d3b9f2be46ab

7033141: assert(has_cp_cache(i)) failed: oob Summary: Unrewrite bytecodes for OOM error allocating the constant pool cache. Reviewed-by: dcubed, acorn, never
author coleenp
date Sat, 21 May 2011 15:39:54 -0700
parents a80577f854f9
children 88559690c95a 96c891ebe56a
comparison
equal deleted inserted replaced
3397:cfbca4d74a61 3748:d3b9f2be46ab
1397 // Rewrite the method and set up the constant pool cache. 1397 // Rewrite the method and set up the constant pool cache.
1398 objArrayOop m_array = oopFactory::new_system_objArray(1, CHECK_(empty)); 1398 objArrayOop m_array = oopFactory::new_system_objArray(1, CHECK_(empty));
1399 objArrayHandle methods(THREAD, m_array); 1399 objArrayHandle methods(THREAD, m_array);
1400 methods->obj_at_put(0, m()); 1400 methods->obj_at_put(0, m());
1401 Rewriter::rewrite(_target_klass(), cpool, methods, CHECK_(empty)); // Use fake class. 1401 Rewriter::rewrite(_target_klass(), cpool, methods, CHECK_(empty)); // Use fake class.
1402 Rewriter::relocate_and_link(_target_klass(), methods, CHECK_(empty)); // Use fake class.
1402 1403
1403 // Set the invocation counter's count to the invoke count of the 1404 // Set the invocation counter's count to the invoke count of the
1404 // original call site. 1405 // original call site.
1405 InvocationCounter* ic = m->invocation_counter(); 1406 InvocationCounter* ic = m->invocation_counter();
1406 ic->set(InvocationCounter::wait_for_compile, _invoke_count); 1407 ic->set(InvocationCounter::wait_for_compile, _invoke_count);