hotspot/src/share/vm/oops/method.cpp
changeset 40646 c5dfe23b92b1
parent 39714 976b97b59d87
child 40892 330a02d935ad
equal deleted inserted replaced
40642:7f337136f657 40646:c5dfe23b92b1
    52 #include "prims/nativeLookup.hpp"
    52 #include "prims/nativeLookup.hpp"
    53 #include "runtime/arguments.hpp"
    53 #include "runtime/arguments.hpp"
    54 #include "runtime/compilationPolicy.hpp"
    54 #include "runtime/compilationPolicy.hpp"
    55 #include "runtime/frame.inline.hpp"
    55 #include "runtime/frame.inline.hpp"
    56 #include "runtime/handles.inline.hpp"
    56 #include "runtime/handles.inline.hpp"
       
    57 #include "runtime/init.hpp"
    57 #include "runtime/orderAccess.inline.hpp"
    58 #include "runtime/orderAccess.inline.hpp"
    58 #include "runtime/relocator.hpp"
    59 #include "runtime/relocator.hpp"
    59 #include "runtime/sharedRuntime.hpp"
    60 #include "runtime/sharedRuntime.hpp"
    60 #include "runtime/signature.hpp"
    61 #include "runtime/signature.hpp"
    61 #include "utilities/quickSort.hpp"
    62 #include "utilities/quickSort.hpp"
  1013   // Adapters for compiled code are made eagerly here.  They are fairly
  1014   // Adapters for compiled code are made eagerly here.  They are fairly
  1014   // small (generally < 100 bytes) and quick to make (and cached and shared)
  1015   // small (generally < 100 bytes) and quick to make (and cached and shared)
  1015   // so making them eagerly shouldn't be too expensive.
  1016   // so making them eagerly shouldn't be too expensive.
  1016   AdapterHandlerEntry* adapter = AdapterHandlerLibrary::get_adapter(mh);
  1017   AdapterHandlerEntry* adapter = AdapterHandlerLibrary::get_adapter(mh);
  1017   if (adapter == NULL ) {
  1018   if (adapter == NULL ) {
  1018     THROW_MSG_NULL(vmSymbols::java_lang_VirtualMachineError(), "Out of space in CodeCache for adapters");
  1019     if (!is_init_completed()) {
       
  1020       // Don't throw exceptions during VM initialization because java.lang.* classes
       
  1021       // might not have been initialized, causing problems when constructing the
       
  1022       // Java exception object.
       
  1023       vm_exit_during_initialization("Out of space in CodeCache for adapters");
       
  1024     } else {
       
  1025       THROW_MSG_NULL(vmSymbols::java_lang_VirtualMachineError(), "Out of space in CodeCache for adapters");
       
  1026     }
  1019   }
  1027   }
  1020 
  1028 
  1021   if (mh->is_shared()) {
  1029   if (mh->is_shared()) {
  1022     assert(mh->adapter() == adapter, "must be");
  1030     assert(mh->adapter() == adapter, "must be");
  1023     assert(mh->_from_compiled_entry != NULL, "must be"); // FIXME, the instructions also not NULL
  1031     assert(mh->_from_compiled_entry != NULL, "must be"); // FIXME, the instructions also not NULL