diff --git a/src/hotspot/share/memory/metaspace.hpp b/src/hotspot/share/memory/metaspace.hpp index fc405a389ee..7076a6a09bb 100644 --- a/src/hotspot/share/memory/metaspace.hpp +++ b/src/hotspot/share/memory/metaspace.hpp @@ -56,7 +56,6 @@ public: StandardMetaspaceType = ZeroMetaspaceType, BootMetaspaceType = StandardMetaspaceType + 1, ClassMirrorHolderMetaspaceType = BootMetaspaceType + 1, - ReflectionMetaspaceType = ClassMirrorHolderMetaspaceType + 1, MetaspaceTypeCount }; diff --git a/src/hotspot/share/memory/metaspace/metaspaceArenaGrowthPolicy.cpp b/src/hotspot/share/memory/metaspace/metaspaceArenaGrowthPolicy.cpp index 592624c25f0..0698c1509cf 100644 --- a/src/hotspot/share/memory/metaspace/metaspaceArenaGrowthPolicy.cpp +++ b/src/hotspot/share/memory/metaspace/metaspaceArenaGrowthPolicy.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2020 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -61,17 +61,6 @@ static const chunklevel_t g_sequ_anon_class[] = { // .. repeat last }; -static const chunklevel_t g_sequ_refl_non_class[] = { - chunklevel::CHUNK_LEVEL_2K, - chunklevel::CHUNK_LEVEL_1K - // .. repeat last -}; - -static const chunklevel_t g_sequ_refl_class[] = { - chunklevel::CHUNK_LEVEL_1K, - // .. repeat last -}; - // Boot class loader: give it large chunks: beyond commit granule size // (typically 64K) the costs for large chunks largely diminishes since // they are committed on the fly. @@ -95,15 +84,12 @@ const ArenaGrowthPolicy* ArenaGrowthPolicy::policy_for_space_type(Metaspace::Met DEFINE_CLASS_FOR_ARRAY(standard_class) DEFINE_CLASS_FOR_ARRAY(anon_non_class) DEFINE_CLASS_FOR_ARRAY(anon_class) - DEFINE_CLASS_FOR_ARRAY(refl_non_class) - DEFINE_CLASS_FOR_ARRAY(refl_class) DEFINE_CLASS_FOR_ARRAY(boot_non_class) DEFINE_CLASS_FOR_ARRAY(boot_class) if (is_class) { switch(space_type) { case Metaspace::StandardMetaspaceType: return &chunk_alloc_sequence_standard_class; - case Metaspace::ReflectionMetaspaceType: return &chunk_alloc_sequence_refl_class; case Metaspace::ClassMirrorHolderMetaspaceType: return &chunk_alloc_sequence_anon_class; case Metaspace::BootMetaspaceType: return &chunk_alloc_sequence_boot_class; default: ShouldNotReachHere(); @@ -111,7 +97,6 @@ const ArenaGrowthPolicy* ArenaGrowthPolicy::policy_for_space_type(Metaspace::Met } else { switch(space_type) { case Metaspace::StandardMetaspaceType: return &chunk_alloc_sequence_standard_non_class; - case Metaspace::ReflectionMetaspaceType: return &chunk_alloc_sequence_refl_non_class; case Metaspace::ClassMirrorHolderMetaspaceType: return &chunk_alloc_sequence_anon_non_class; case Metaspace::BootMetaspaceType: return &chunk_alloc_sequence_boot_non_class; default: ShouldNotReachHere(); diff --git a/src/hotspot/share/memory/metaspace/metaspaceReporter.cpp b/src/hotspot/share/memory/metaspace/metaspaceReporter.cpp index c154fd1db25..3cd9ba5ab87 100644 --- a/src/hotspot/share/memory/metaspace/metaspaceReporter.cpp +++ b/src/hotspot/share/memory/metaspace/metaspaceReporter.cpp @@ -49,7 +49,6 @@ static const char* describe_spacetype(Metaspace::MetaspaceType st) { case Metaspace::StandardMetaspaceType: s = "Standard"; break; case Metaspace::BootMetaspaceType: s = "Boot"; break; case Metaspace::ClassMirrorHolderMetaspaceType: s = "ClassMirrorHolder"; break; - case Metaspace::ReflectionMetaspaceType: s = "Reflection"; break; default: ShouldNotReachHere(); } return s; diff --git a/src/hotspot/share/prims/whitebox.cpp b/src/hotspot/share/prims/whitebox.cpp index 24f6156224d..99958f336bf 100644 --- a/src/hotspot/share/prims/whitebox.cpp +++ b/src/hotspot/share/prims/whitebox.cpp @@ -1751,7 +1751,7 @@ WB_ENTRY(jlong, WB_GetTotalUsedWordsInMetaspaceTestContext(JNIEnv* env, jobject WB_END WB_ENTRY(jlong, WB_CreateArenaInTestContext(JNIEnv* env, jobject wb, jlong context, jboolean is_micro)) - const Metaspace::MetaspaceType type = is_micro ? Metaspace::ReflectionMetaspaceType : Metaspace::StandardMetaspaceType; + const Metaspace::MetaspaceType type = is_micro ? Metaspace::ClassMirrorHolderMetaspaceType : Metaspace::StandardMetaspaceType; metaspace::MetaspaceTestContext* context0 = (metaspace::MetaspaceTestContext*) context; return (jlong)p2i(context0->create_arena(type)); WB_END diff --git a/test/hotspot/gtest/metaspace/test_arenagrowthpolicy.cpp b/test/hotspot/gtest/metaspace/test_arenagrowthpolicy.cpp index a37af058e09..80e6c1d77da 100644 --- a/test/hotspot/gtest/metaspace/test_arenagrowthpolicy.cpp +++ b/test/hotspot/gtest/metaspace/test_arenagrowthpolicy.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2020 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -61,8 +61,6 @@ TEST_VM(metaspace, arena_growth_policy_##spacetype##_##is_class) { \ test_arena_growth_policy(Metaspace::spacetype, is_class); \ } -DEFINE_GROWTH_POLICY_TEST(ReflectionMetaspaceType, true) -DEFINE_GROWTH_POLICY_TEST(ReflectionMetaspaceType, false) DEFINE_GROWTH_POLICY_TEST(ClassMirrorHolderMetaspaceType, true) DEFINE_GROWTH_POLICY_TEST(ClassMirrorHolderMetaspaceType, false) DEFINE_GROWTH_POLICY_TEST(StandardMetaspaceType, true) diff --git a/test/hotspot/gtest/metaspace/test_metaspacearena.cpp b/test/hotspot/gtest/metaspace/test_metaspacearena.cpp index aee53ea32aa..2e5a6d40ce7 100644 --- a/test/hotspot/gtest/metaspace/test_metaspacearena.cpp +++ b/test/hotspot/gtest/metaspace/test_metaspacearena.cpp @@ -218,7 +218,8 @@ public: static void test_basics(size_t commit_limit, bool is_micro) { MetaspaceGtestContext context(commit_limit); - MetaspaceArenaTestHelper helper(context, is_micro ? Metaspace::ReflectionMetaspaceType : Metaspace::StandardMetaspaceType, false); + const Metaspace::MetaspaceType type = is_micro ? Metaspace::ClassMirrorHolderMetaspaceType : Metaspace::StandardMetaspaceType; + MetaspaceArenaTestHelper helper(context, type, false); helper.allocate_from_arena_with_tests(1); helper.allocate_from_arena_with_tests(128); @@ -278,11 +279,11 @@ TEST_VM(metaspace, MetaspaceArena_test_enlarge_in_place_standard_nc) { } TEST_VM(metaspace, MetaspaceArena_test_enlarge_in_place_micro_c) { - test_chunk_enlargment_simple(Metaspace::ReflectionMetaspaceType, true); + test_chunk_enlargment_simple(Metaspace::ClassMirrorHolderMetaspaceType, true); } TEST_VM(metaspace, MetaspaceArena_test_enlarge_in_place_micro_nc) { - test_chunk_enlargment_simple(Metaspace::ReflectionMetaspaceType, false); + test_chunk_enlargment_simple(Metaspace::ClassMirrorHolderMetaspaceType, false); } // Test chunk enlargement: @@ -434,8 +435,8 @@ static void test_recover_from_commit_limit_hit() { // The first MetaspaceArena mimicks a micro loader. This will fill the free // chunk list with very small chunks. We allocate from them in an interleaved // way to cause fragmentation. - MetaspaceArenaTestHelper helper1(context, Metaspace::ReflectionMetaspaceType, false); - MetaspaceArenaTestHelper helper2(context, Metaspace::ReflectionMetaspaceType, false); + MetaspaceArenaTestHelper helper1(context, Metaspace::ClassMirrorHolderMetaspaceType, false); + MetaspaceArenaTestHelper helper2(context, Metaspace::ClassMirrorHolderMetaspaceType, false); // This MetaspaceArena should hit the limit. We use BootMetaspaceType here since // it gets a large initial chunk which is committed @@ -495,7 +496,9 @@ static void test_controlled_growth(Metaspace::MetaspaceType type, bool is_class, MetaspaceGtestContext context; MetaspaceArenaTestHelper smhelper(context, type, is_class, "Grower"); - MetaspaceArenaTestHelper smhelper_harrasser(context, Metaspace::ReflectionMetaspaceType, true, "Harasser"); + const Metaspace::MetaspaceType other_type = + (type == Metaspace::StandardMetaspaceType) ? Metaspace::ClassMirrorHolderMetaspaceType : Metaspace::StandardMetaspaceType; + MetaspaceArenaTestHelper smhelper_harrasser(context, other_type, true, "Harasser"); size_t used = 0, committed = 0, capacity = 0; const size_t alloc_words = 16; @@ -617,16 +620,6 @@ static void test_controlled_growth(Metaspace::MetaspaceType type, bool is_class, } // these numbers have to be in sync with arena policy numbers (see memory/metaspace/arenaGrowthPolicy.cpp) -TEST_VM(metaspace, MetaspaceArena_growth_refl_c_inplace) { - test_controlled_growth(Metaspace::ReflectionMetaspaceType, true, - word_size_for_level(CHUNK_LEVEL_1K), true); -} - -TEST_VM(metaspace, MetaspaceArena_growth_refl_c_not_inplace) { - test_controlled_growth(Metaspace::ReflectionMetaspaceType, true, - word_size_for_level(CHUNK_LEVEL_1K), false); -} - TEST_VM(metaspace, MetaspaceArena_growth_anon_c_inplace) { test_controlled_growth(Metaspace::ClassMirrorHolderMetaspaceType, true, word_size_for_level(CHUNK_LEVEL_1K), true); @@ -660,16 +653,6 @@ TEST_VM(metaspace, MetaspaceArena_growth_boot_c_not_inplace) { } */ -TEST_VM(metaspace, MetaspaceArena_growth_refl_nc_inplace) { - test_controlled_growth(Metaspace::ReflectionMetaspaceType, false, - word_size_for_level(CHUNK_LEVEL_2K), true); -} - -TEST_VM(metaspace, MetaspaceArena_growth_refl_nc_not_inplace) { - test_controlled_growth(Metaspace::ReflectionMetaspaceType, false, - word_size_for_level(CHUNK_LEVEL_2K), false); -} - TEST_VM(metaspace, MetaspaceArena_growth_anon_nc_inplace) { test_controlled_growth(Metaspace::ClassMirrorHolderMetaspaceType, false, word_size_for_level(CHUNK_LEVEL_1K), true); diff --git a/test/hotspot/gtest/metaspace/test_metaspacearena_stress.cpp b/test/hotspot/gtest/metaspace/test_metaspacearena_stress.cpp index e94f733e45b..bb536dfd0e2 100644 --- a/test/hotspot/gtest/metaspace/test_metaspacearena_stress.cpp +++ b/test/hotspot/gtest/metaspace/test_metaspacearena_stress.cpp @@ -227,7 +227,7 @@ class MetaspaceArenaTest { void create_random_test_bed_at(int slotindex) { SizeRange allocation_range(1, 100); // randomize too? const ArenaGrowthPolicy* growth_policy = ArenaGrowthPolicy::policy_for_space_type( - (fifty_fifty() ? Metaspace::StandardMetaspaceType : Metaspace::ReflectionMetaspaceType), + (fifty_fifty() ? Metaspace::StandardMetaspaceType : Metaspace::ClassMirrorHolderMetaspaceType), fifty_fifty()); create_new_test_bed_at(slotindex, growth_policy, allocation_range); }