406 soc->do_tag(arrayOopDesc::base_offset_in_bytes(T_BYTE));
407 soc->do_tag(sizeof(ConstantPool));
408 soc->do_tag(sizeof(ConstantPoolCache));
409 soc->do_tag(objArrayOopDesc::base_offset_in_bytes());
410 soc->do_tag(typeArrayOopDesc::base_offset_in_bytes(T_BYTE));
411 soc->do_tag(sizeof(Symbol));
412
413 // Dump/restore miscellaneous metadata.
414 Universe::serialize(soc, true);
415 soc->do_tag(--tag);
416
417 // Dump/restore references to commonly used names and signatures.
418 vmSymbols::serialize(soc);
419 soc->do_tag(--tag);
420
421 // Dump/restore the symbol and string tables
422 SymbolTable::serialize(soc);
423 StringTable::serialize(soc);
424 soc->do_tag(--tag);
425
426 serialize_well_known_classes(soc);
427 soc->do_tag(--tag);
428
429 soc->do_tag(666);
430 }
431
432 void MetaspaceShared::serialize_well_known_classes(SerializeClosure* soc) {
433 java_lang_Class::serialize(soc);
434 java_lang_String::serialize(soc);
435 java_lang_System::serialize(soc);
436 java_lang_ClassLoader::serialize(soc);
437 java_lang_Throwable::serialize(soc);
438 java_lang_Thread::serialize(soc);
439 java_lang_ThreadGroup::serialize(soc);
440 java_lang_AssertionStatusDirectives::serialize(soc);
441 java_lang_module_Configuration::serialize(soc);
442 java_lang_ref_SoftReference::serialize(soc);
443 java_lang_invoke_MethodHandle::serialize(soc);
444 java_lang_invoke_DirectMethodHandle::serialize(soc);
445 java_lang_invoke_MemberName::serialize(soc);
446 java_lang_invoke_ResolvedMethodName::serialize(soc);
447 java_lang_invoke_LambdaForm::serialize(soc);
448 java_lang_invoke_MethodType::serialize(soc);
449 java_lang_invoke_CallSite::serialize(soc);
450 java_lang_invoke_MethodHandleNatives_CallSiteContext::serialize(soc);
451 java_security_AccessControlContext::serialize(soc);
452 java_lang_reflect_AccessibleObject::serialize(soc);
453 java_lang_reflect_Method::serialize(soc);
454 java_lang_reflect_Constructor::serialize(soc);
455 java_lang_reflect_Field::serialize(soc);
456 java_nio_Buffer::serialize(soc);
457 reflect_ConstantPool::serialize(soc);
458 reflect_UnsafeStaticFieldAccessorImpl::serialize(soc);
459 java_lang_reflect_Parameter::serialize(soc);
460 java_lang_Module::serialize(soc);
461 java_lang_StackTraceElement::serialize(soc);
462 java_lang_StackFrameInfo::serialize(soc);
463 java_lang_LiveStackFrameInfo::serialize(soc);
464 java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize(soc);
465 java_util_ImmutableCollections_ListN::serialize(soc);
466 java_util_ImmutableCollections_MapN::serialize(soc);
467 java_util_ImmutableCollections_SetN::serialize(soc);
468 jdk_internal_module_ArchivedModuleGraph::serialize(soc);
469 }
470
471 address MetaspaceShared::cds_i2i_entry_code_buffers(size_t total_size) {
472 if (DumpSharedSpaces) {
473 if (_cds_i2i_entry_code_buffers == NULL) {
474 _cds_i2i_entry_code_buffers = (address)misc_code_space_alloc(total_size);
475 _cds_i2i_entry_code_buffers_size = total_size;
476 }
477 } else if (UseSharedSpaces) {
478 assert(_cds_i2i_entry_code_buffers != NULL, "must already been initialized");
479 } else {
480 return NULL;
481 }
482
483 assert(_cds_i2i_entry_code_buffers_size == total_size, "must not change");
484 return _cds_i2i_entry_code_buffers;
485 }
486
487 // CDS code for dumping shared archive.
488
|
406 soc->do_tag(arrayOopDesc::base_offset_in_bytes(T_BYTE));
407 soc->do_tag(sizeof(ConstantPool));
408 soc->do_tag(sizeof(ConstantPoolCache));
409 soc->do_tag(objArrayOopDesc::base_offset_in_bytes());
410 soc->do_tag(typeArrayOopDesc::base_offset_in_bytes(T_BYTE));
411 soc->do_tag(sizeof(Symbol));
412
413 // Dump/restore miscellaneous metadata.
414 Universe::serialize(soc, true);
415 soc->do_tag(--tag);
416
417 // Dump/restore references to commonly used names and signatures.
418 vmSymbols::serialize(soc);
419 soc->do_tag(--tag);
420
421 // Dump/restore the symbol and string tables
422 SymbolTable::serialize(soc);
423 StringTable::serialize(soc);
424 soc->do_tag(--tag);
425
426 JavaClasses::serialize_offsets(soc);
427 soc->do_tag(--tag);
428
429 soc->do_tag(666);
430 }
431
432 address MetaspaceShared::cds_i2i_entry_code_buffers(size_t total_size) {
433 if (DumpSharedSpaces) {
434 if (_cds_i2i_entry_code_buffers == NULL) {
435 _cds_i2i_entry_code_buffers = (address)misc_code_space_alloc(total_size);
436 _cds_i2i_entry_code_buffers_size = total_size;
437 }
438 } else if (UseSharedSpaces) {
439 assert(_cds_i2i_entry_code_buffers != NULL, "must already been initialized");
440 } else {
441 return NULL;
442 }
443
444 assert(_cds_i2i_entry_code_buffers_size == total_size, "must not change");
445 return _cds_i2i_entry_code_buffers;
446 }
447
448 // CDS code for dumping shared archive.
449
|