Skip to content

Commit d20034b

Browse files
stefankfiskxmas92plidenkstefanj
committed
8307058: Implementation of Generational ZGC
Co-authored-by: Stefan Karlsson <stefank@openjdk.org> Co-authored-by: Erik Österlund <eosterlund@openjdk.org> Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org> Co-authored-by: Per Liden <pliden@openjdk.org> Co-authored-by: Stefan Johansson <sjohanss@openjdk.org> Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org> Co-authored-by: Erik Helin <ehelin@openjdk.org> Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org> Co-authored-by: Nils Eliasson <neliasso@openjdk.org> Co-authored-by: Martin Doerr <mdoerr@openjdk.org> Co-authored-by: Leslie Zhai <lzhai@openjdk.org> Co-authored-by: Fei Yang <fyang@openjdk.org> Co-authored-by: Yadong Wang <yadongwang@openjdk.org> Reviewed-by: eosterlund, aboldtch, rcastanedalo
1 parent 0cbfbc4 commit d20034b

File tree

667 files changed

+63137
-7698
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

667 files changed

+63137
-7698
lines changed

make/hotspot/gensrc/GensrcAdlc.gmk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ ifeq ($(call check-jvm-feature, compiler2), true)
172172

173173
ifeq ($(call check-jvm-feature, zgc), true)
174174
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
175+
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/x/x_$(HOTSPOT_TARGET_CPU).ad \
176+
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/x/x_$(HOTSPOT_TARGET_CPU_ARCH).ad \
175177
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/z/z_$(HOTSPOT_TARGET_CPU).ad \
176178
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/z/z_$(HOTSPOT_TARGET_CPU_ARCH).ad \
177179
)))

make/hotspot/lib/JvmFeatures.gmk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ endif
149149
ifneq ($(call check-jvm-feature, zgc), true)
150150
JVM_CFLAGS_FEATURES += -DINCLUDE_ZGC=0
151151
JVM_EXCLUDE_PATTERNS += gc/z
152+
JVM_EXCLUDE_PATTERNS += gc/x
152153
endif
153154

154155
ifneq ($(call check-jvm-feature, shenandoahgc), true)

src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1010,7 +1010,7 @@ void LIR_Assembler::mem2reg(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_Patch
10101010
__ decode_heap_oop(dest->as_register());
10111011
}
10121012

1013-
if (!UseZGC) {
1013+
if (!(UseZGC && !ZGenerational)) {
10141014
// Load barrier has not yet been applied, so ZGC can't verify the oop here
10151015
__ verify_oop(dest->as_register());
10161016
}

src/hotspot/cpu/aarch64/gc/shared/barrierSetNMethod_aarch64.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -129,20 +129,14 @@ class NativeNMethodBarrier {
129129
}
130130
};
131131

132-
// Store the instruction bitmask, bits and name for checking the barrier.
133-
struct CheckInsn {
134-
uint32_t mask;
135-
uint32_t bits;
136-
const char *name;
137-
};
138-
139132
// The first instruction of the nmethod entry barrier is an ldr (literal)
140133
// instruction. Verify that it's really there, so the offsets are not skewed.
141134
bool NativeNMethodBarrier::check_barrier(err_msg& msg) const {
142135
uint32_t* addr = (uint32_t*) instruction_address();
143136
uint32_t inst = *addr;
144137
if ((inst & 0xff000000) != 0x18000000) {
145-
msg.print("Addr: " INTPTR_FORMAT " Code: 0x%x not an ldr", p2i(addr), inst);
138+
msg.print("Nmethod entry barrier did not start with ldr (literal) as expected. "
139+
"Addr: " PTR_FORMAT " Code: " UINT32_FORMAT, p2i(addr), inst);
146140
return false;
147141
}
148142
return true;

0 commit comments

Comments
 (0)