src/hotspot/share/memory/dynamicArchive.cpp
changeset 55134 72474808e305
parent 54932 0f934da77390
child 58096 0d97bf7cf8a4
equal deleted inserted replaced
55133:3f2f89737be5 55134:72474808e305
   754   for (int i = 0; i < _klasses->length(); i++) {
   754   for (int i = 0; i < _klasses->length(); i++) {
   755     InstanceKlass* ik = _klasses->at(i);
   755     InstanceKlass* ik = _klasses->at(i);
   756     Array<Method*>* methods = ik->methods();
   756     Array<Method*>* methods = ik->methods();
   757     total += each_method_bytes * methods->length();
   757     total += each_method_bytes * methods->length();
   758   }
   758   }
       
   759   if (total == 0) {
       
   760     // We have nothing to archive, but let's avoid having an empty region.
       
   761     total = SharedRuntime::trampoline_size();
       
   762   }
   759   return total;
   763   return total;
   760 }
   764 }
   761 
   765 
   762 void DynamicArchiveBuilder::make_trampolines() {
   766 void DynamicArchiveBuilder::make_trampolines() {
   763   for (int i = 0; i < _klasses->length(); i++) {
   767   for (int i = 0; i < _klasses->length(); i++) {
   771       AdapterHandlerEntry** adapter_trampoline =
   775       AdapterHandlerEntry** adapter_trampoline =
   772         (AdapterHandlerEntry**)MetaspaceShared::misc_code_space_alloc(sizeof(AdapterHandlerEntry*));
   776         (AdapterHandlerEntry**)MetaspaceShared::misc_code_space_alloc(sizeof(AdapterHandlerEntry*));
   773       *adapter_trampoline = NULL;
   777       *adapter_trampoline = NULL;
   774       m->set_adapter_trampoline(to_target(adapter_trampoline));
   778       m->set_adapter_trampoline(to_target(adapter_trampoline));
   775     }
   779     }
       
   780   }
       
   781 
       
   782   if (MetaspaceShared::misc_code_dump_space()->used() == 0) {
       
   783     // We have nothing to archive, but let's avoid having an empty region.
       
   784     MetaspaceShared::misc_code_space_alloc(SharedRuntime::trampoline_size());
   776   }
   785   }
   777 }
   786 }
   778 
   787 
   779 void DynamicArchiveBuilder::make_klasses_shareable() {
   788 void DynamicArchiveBuilder::make_klasses_shareable() {
   780   int i, count = _klasses->length();
   789   int i, count = _klasses->length();