Mercurial > hg > truffle
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); |