comparison src/share/vm/oops/methodOop.cpp @ 1187:cf0685d550f1

6911204: generated adapters with large signatures can fill up the code cache Reviewed-by: kvn, jrose
author never
date Wed, 20 Jan 2010 22:10:33 -0800
parents cd37471eaecc
children 5f24d0319e54
comparison
equal deleted inserted replaced
1179:3d6016e040d6 1187:cf0685d550f1
686 // Adapters for compiled code are made eagerly here. They are fairly 686 // Adapters for compiled code are made eagerly here. They are fairly
687 // small (generally < 100 bytes) and quick to make (and cached and shared) 687 // small (generally < 100 bytes) and quick to make (and cached and shared)
688 // so making them eagerly shouldn't be too expensive. 688 // so making them eagerly shouldn't be too expensive.
689 AdapterHandlerEntry* adapter = AdapterHandlerLibrary::get_adapter(mh); 689 AdapterHandlerEntry* adapter = AdapterHandlerLibrary::get_adapter(mh);
690 if (adapter == NULL ) { 690 if (adapter == NULL ) {
691 THROW_0(vmSymbols::java_lang_OutOfMemoryError()); 691 THROW_MSG_NULL(vmSymbols::java_lang_VirtualMachineError(), "out of space in CodeCache for adapters");
692 } 692 }
693 693
694 mh->set_adapter_entry(adapter); 694 mh->set_adapter_entry(adapter);
695 mh->_from_compiled_entry = adapter->get_c2i_entry(); 695 mh->_from_compiled_entry = adapter->get_c2i_entry();
696 return adapter->get_c2i_entry(); 696 return adapter->get_c2i_entry();