Skip to content

Commit 120a935

Browse files
committed
8342561: Metaspace for generated reflection classes is no longer needed
Reviewed-by: shade, stuefe
1 parent d5fb6b4 commit 120a935

File tree

7 files changed

+13
-49
lines changed

7 files changed

+13
-49
lines changed

src/hotspot/share/memory/metaspace.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ class Metaspace : public AllStatic {
5656
StandardMetaspaceType = ZeroMetaspaceType,
5757
BootMetaspaceType = StandardMetaspaceType + 1,
5858
ClassMirrorHolderMetaspaceType = BootMetaspaceType + 1,
59-
ReflectionMetaspaceType = ClassMirrorHolderMetaspaceType + 1,
6059
MetaspaceTypeCount
6160
};
6261

src/hotspot/share/memory/metaspace/metaspaceArenaGrowthPolicy.cpp

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2020 SAP SE. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -61,17 +61,6 @@ static const chunklevel_t g_sequ_anon_class[] = {
6161
// .. repeat last
6262
};
6363

64-
static const chunklevel_t g_sequ_refl_non_class[] = {
65-
chunklevel::CHUNK_LEVEL_2K,
66-
chunklevel::CHUNK_LEVEL_1K
67-
// .. repeat last
68-
};
69-
70-
static const chunklevel_t g_sequ_refl_class[] = {
71-
chunklevel::CHUNK_LEVEL_1K,
72-
// .. repeat last
73-
};
74-
7564
// Boot class loader: give it large chunks: beyond commit granule size
7665
// (typically 64K) the costs for large chunks largely diminishes since
7766
// they are committed on the fly.
@@ -95,23 +84,19 @@ const ArenaGrowthPolicy* ArenaGrowthPolicy::policy_for_space_type(Metaspace::Met
9584
DEFINE_CLASS_FOR_ARRAY(standard_class)
9685
DEFINE_CLASS_FOR_ARRAY(anon_non_class)
9786
DEFINE_CLASS_FOR_ARRAY(anon_class)
98-
DEFINE_CLASS_FOR_ARRAY(refl_non_class)
99-
DEFINE_CLASS_FOR_ARRAY(refl_class)
10087
DEFINE_CLASS_FOR_ARRAY(boot_non_class)
10188
DEFINE_CLASS_FOR_ARRAY(boot_class)
10289

10390
if (is_class) {
10491
switch(space_type) {
10592
case Metaspace::StandardMetaspaceType: return &chunk_alloc_sequence_standard_class;
106-
case Metaspace::ReflectionMetaspaceType: return &chunk_alloc_sequence_refl_class;
10793
case Metaspace::ClassMirrorHolderMetaspaceType: return &chunk_alloc_sequence_anon_class;
10894
case Metaspace::BootMetaspaceType: return &chunk_alloc_sequence_boot_class;
10995
default: ShouldNotReachHere();
11096
}
11197
} else {
11298
switch(space_type) {
11399
case Metaspace::StandardMetaspaceType: return &chunk_alloc_sequence_standard_non_class;
114-
case Metaspace::ReflectionMetaspaceType: return &chunk_alloc_sequence_refl_non_class;
115100
case Metaspace::ClassMirrorHolderMetaspaceType: return &chunk_alloc_sequence_anon_non_class;
116101
case Metaspace::BootMetaspaceType: return &chunk_alloc_sequence_boot_non_class;
117102
default: ShouldNotReachHere();

src/hotspot/share/memory/metaspace/metaspaceReporter.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ static const char* describe_spacetype(Metaspace::MetaspaceType st) {
4949
case Metaspace::StandardMetaspaceType: s = "Standard"; break;
5050
case Metaspace::BootMetaspaceType: s = "Boot"; break;
5151
case Metaspace::ClassMirrorHolderMetaspaceType: s = "ClassMirrorHolder"; break;
52-
case Metaspace::ReflectionMetaspaceType: s = "Reflection"; break;
5352
default: ShouldNotReachHere();
5453
}
5554
return s;

src/hotspot/share/prims/whitebox.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1751,7 +1751,7 @@ WB_ENTRY(jlong, WB_GetTotalUsedWordsInMetaspaceTestContext(JNIEnv* env, jobject
17511751
WB_END
17521752

17531753
WB_ENTRY(jlong, WB_CreateArenaInTestContext(JNIEnv* env, jobject wb, jlong context, jboolean is_micro))
1754-
const Metaspace::MetaspaceType type = is_micro ? Metaspace::ReflectionMetaspaceType : Metaspace::StandardMetaspaceType;
1754+
const Metaspace::MetaspaceType type = is_micro ? Metaspace::ClassMirrorHolderMetaspaceType : Metaspace::StandardMetaspaceType;
17551755
metaspace::MetaspaceTestContext* context0 = (metaspace::MetaspaceTestContext*) context;
17561756
return (jlong)p2i(context0->create_arena(type));
17571757
WB_END

test/hotspot/gtest/metaspace/test_arenagrowthpolicy.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2020 SAP SE. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -61,8 +61,6 @@ TEST_VM(metaspace, arena_growth_policy_##spacetype##_##is_class) { \
6161
test_arena_growth_policy(Metaspace::spacetype, is_class); \
6262
}
6363

64-
DEFINE_GROWTH_POLICY_TEST(ReflectionMetaspaceType, true)
65-
DEFINE_GROWTH_POLICY_TEST(ReflectionMetaspaceType, false)
6664
DEFINE_GROWTH_POLICY_TEST(ClassMirrorHolderMetaspaceType, true)
6765
DEFINE_GROWTH_POLICY_TEST(ClassMirrorHolderMetaspaceType, false)
6866
DEFINE_GROWTH_POLICY_TEST(StandardMetaspaceType, true)

test/hotspot/gtest/metaspace/test_metaspacearena.cpp

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,8 @@ class MetaspaceArenaTestHelper {
218218

219219
static void test_basics(size_t commit_limit, bool is_micro) {
220220
MetaspaceGtestContext context(commit_limit);
221-
MetaspaceArenaTestHelper helper(context, is_micro ? Metaspace::ReflectionMetaspaceType : Metaspace::StandardMetaspaceType, false);
221+
const Metaspace::MetaspaceType type = is_micro ? Metaspace::ClassMirrorHolderMetaspaceType : Metaspace::StandardMetaspaceType;
222+
MetaspaceArenaTestHelper helper(context, type, false);
222223

223224
helper.allocate_from_arena_with_tests(1);
224225
helper.allocate_from_arena_with_tests(128);
@@ -278,11 +279,11 @@ TEST_VM(metaspace, MetaspaceArena_test_enlarge_in_place_standard_nc) {
278279
}
279280

280281
TEST_VM(metaspace, MetaspaceArena_test_enlarge_in_place_micro_c) {
281-
test_chunk_enlargment_simple(Metaspace::ReflectionMetaspaceType, true);
282+
test_chunk_enlargment_simple(Metaspace::ClassMirrorHolderMetaspaceType, true);
282283
}
283284

284285
TEST_VM(metaspace, MetaspaceArena_test_enlarge_in_place_micro_nc) {
285-
test_chunk_enlargment_simple(Metaspace::ReflectionMetaspaceType, false);
286+
test_chunk_enlargment_simple(Metaspace::ClassMirrorHolderMetaspaceType, false);
286287
}
287288

288289
// Test chunk enlargement:
@@ -434,8 +435,8 @@ static void test_recover_from_commit_limit_hit() {
434435
// The first MetaspaceArena mimicks a micro loader. This will fill the free
435436
// chunk list with very small chunks. We allocate from them in an interleaved
436437
// way to cause fragmentation.
437-
MetaspaceArenaTestHelper helper1(context, Metaspace::ReflectionMetaspaceType, false);
438-
MetaspaceArenaTestHelper helper2(context, Metaspace::ReflectionMetaspaceType, false);
438+
MetaspaceArenaTestHelper helper1(context, Metaspace::ClassMirrorHolderMetaspaceType, false);
439+
MetaspaceArenaTestHelper helper2(context, Metaspace::ClassMirrorHolderMetaspaceType, false);
439440

440441
// This MetaspaceArena should hit the limit. We use BootMetaspaceType here since
441442
// it gets a large initial chunk which is committed
@@ -495,7 +496,9 @@ static void test_controlled_growth(Metaspace::MetaspaceType type, bool is_class,
495496
MetaspaceGtestContext context;
496497
MetaspaceArenaTestHelper smhelper(context, type, is_class, "Grower");
497498

498-
MetaspaceArenaTestHelper smhelper_harrasser(context, Metaspace::ReflectionMetaspaceType, true, "Harasser");
499+
const Metaspace::MetaspaceType other_type =
500+
(type == Metaspace::StandardMetaspaceType) ? Metaspace::ClassMirrorHolderMetaspaceType : Metaspace::StandardMetaspaceType;
501+
MetaspaceArenaTestHelper smhelper_harrasser(context, other_type, true, "Harasser");
499502

500503
size_t used = 0, committed = 0, capacity = 0;
501504
const size_t alloc_words = 16;
@@ -617,16 +620,6 @@ static void test_controlled_growth(Metaspace::MetaspaceType type, bool is_class,
617620
}
618621

619622
// these numbers have to be in sync with arena policy numbers (see memory/metaspace/arenaGrowthPolicy.cpp)
620-
TEST_VM(metaspace, MetaspaceArena_growth_refl_c_inplace) {
621-
test_controlled_growth(Metaspace::ReflectionMetaspaceType, true,
622-
word_size_for_level(CHUNK_LEVEL_1K), true);
623-
}
624-
625-
TEST_VM(metaspace, MetaspaceArena_growth_refl_c_not_inplace) {
626-
test_controlled_growth(Metaspace::ReflectionMetaspaceType, true,
627-
word_size_for_level(CHUNK_LEVEL_1K), false);
628-
}
629-
630623
TEST_VM(metaspace, MetaspaceArena_growth_anon_c_inplace) {
631624
test_controlled_growth(Metaspace::ClassMirrorHolderMetaspaceType, true,
632625
word_size_for_level(CHUNK_LEVEL_1K), true);
@@ -660,16 +653,6 @@ TEST_VM(metaspace, MetaspaceArena_growth_boot_c_not_inplace) {
660653
}
661654
*/
662655

663-
TEST_VM(metaspace, MetaspaceArena_growth_refl_nc_inplace) {
664-
test_controlled_growth(Metaspace::ReflectionMetaspaceType, false,
665-
word_size_for_level(CHUNK_LEVEL_2K), true);
666-
}
667-
668-
TEST_VM(metaspace, MetaspaceArena_growth_refl_nc_not_inplace) {
669-
test_controlled_growth(Metaspace::ReflectionMetaspaceType, false,
670-
word_size_for_level(CHUNK_LEVEL_2K), false);
671-
}
672-
673656
TEST_VM(metaspace, MetaspaceArena_growth_anon_nc_inplace) {
674657
test_controlled_growth(Metaspace::ClassMirrorHolderMetaspaceType, false,
675658
word_size_for_level(CHUNK_LEVEL_1K), true);

test/hotspot/gtest/metaspace/test_metaspacearena_stress.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ class MetaspaceArenaTest {
227227
void create_random_test_bed_at(int slotindex) {
228228
SizeRange allocation_range(1, 100); // randomize too?
229229
const ArenaGrowthPolicy* growth_policy = ArenaGrowthPolicy::policy_for_space_type(
230-
(fifty_fifty() ? Metaspace::StandardMetaspaceType : Metaspace::ReflectionMetaspaceType),
230+
(fifty_fifty() ? Metaspace::StandardMetaspaceType : Metaspace::ClassMirrorHolderMetaspaceType),
231231
fifty_fifty());
232232
create_new_test_bed_at(slotindex, growth_policy, allocation_range);
233233
}

0 commit comments

Comments
 (0)