11diff --git a/make/autoconf/hotspot.m4 b/make/autoconf/hotspot.m4
2- index 075eb1f7f..643df6351 100644
2+ index 649e48cb6..bc841fc26 100644
33--- a/make/autoconf/hotspot.m4
44+++ b/make/autoconf/hotspot.m4
55@@ -313,6 +313,11 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
@@ -14,81 +14,23 @@ index 075eb1f7f..643df6351 100644
1414 # Verify that dependencies are met for explicitly set features.
1515 if HOTSPOT_CHECK_JVM_FEATURE(jvmti) && ! HOTSPOT_CHECK_JVM_FEATURE(services); then
1616 AC_MSG_ERROR([Specified JVM feature 'jvmti' requires feature 'services'])
17- diff --git a/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp b/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp
18- index 0c4d0e0fe..2f7044349 100644
19- --- a/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp
20- +++ b/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp
21- @@ -775,7 +775,7 @@ LIR_Opr LIRGenerator::atomic_xchg(BasicType type, LIR_Opr addr, LIRItem& value)
22- bool is_oop = type == T_OBJECT || type == T_ARRAY;
23- LIR_Opr result = new_register(type);
24- value.load_item();
25- - assert(type == T_INT || is_oop LP64_ONLY( || type == T_LONG ), "unexpected type");
26- + assert(type == T_INT || is_oop || type == T_LONG, "unexpected type");
27- LIR_Opr tmp = (UseCompressedOops && is_oop) ? new_pointer_register() : LIR_OprFact::illegalOpr;
28- __ xchg(addr, value.result(), result, tmp);
29- return result;
30- @@ -784,7 +784,7 @@ LIR_Opr LIRGenerator::atomic_xchg(BasicType type, LIR_Opr addr, LIRItem& value)
31- LIR_Opr LIRGenerator::atomic_add(BasicType type, LIR_Opr addr, LIRItem& value) {
32- LIR_Opr result = new_register(type);
33- value.load_item();
34- - assert(type == T_INT LP64_ONLY( || type == T_LONG), "unexpected type");
35- + assert(type == T_INT || type == T_LONG, "unexpected type");
36- LIR_Opr tmp = new_register(type);
37- __ xadd(addr, value.result(), result, tmp);
38- return result;
39- @@ -1311,9 +1311,14 @@ void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address,
40- CodeEmitInfo* info) {
41- if (value->is_double_cpu()) {
42- assert(address->index()->is_illegal(), "should have a constant displacement");
43- - LIR_Opr tmp = new_pointer_register();
44- - add_large_constant(address->base(), address->disp(), tmp);
45- - __ volatile_store_mem_reg(value, new LIR_Address(tmp, (intx)0, address->type()), info);
46- + LIR_Opr src;
47- + if (address->disp() == 0) {
48- + src = address->base();
49- + } else {
50- + src = new_pointer_register();
51- + add_large_constant(address->base(), address->disp(), src);
52- + }
53- + __ volatile_store_mem_reg(value, new LIR_Address(src, (intx)0, address->type()), info);
54- return;
55- }
56- __ store(value, address, info, lir_patch_none);
57- @@ -1323,9 +1328,14 @@ void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result,
58- CodeEmitInfo* info) {
59- if (result->is_double_cpu()) {
60- assert(address->index()->is_illegal(), "should have a constant displacement");
61- - LIR_Opr tmp = new_pointer_register();
62- - add_large_constant(address->base(), address->disp(), tmp);
63- - __ volatile_load_mem_reg(new LIR_Address(tmp, (intx)0, address->type()), result, info);
64- + LIR_Opr src;
65- + if (address->disp() == 0) {
66- + src = address->base();
67- + } else {
68- + src = new_pointer_register();
69- + add_large_constant(address->base(), address->disp(), src);
70- + }
71- + __ volatile_load_mem_reg(new LIR_Address(src, (intx)0, address->type()), result, info);
72- return;
73- }
74- __ load(address, result, info, lir_patch_none);
7517diff --git a/src/hotspot/share/memory/metaspaceShared.cpp b/src/hotspot/share/memory/metaspaceShared.cpp
76- index 2e1e89bc2..b0b8b8f5a 100644
18+ index a181a434d..8ccc83a1c 100644
7719--- a/src/hotspot/share/memory/metaspaceShared.cpp
7820+++ b/src/hotspot/share/memory/metaspaceShared.cpp
79- @@ -70 ,6 +70 ,7 @@
80- #include "utilities/bitMap.hpp"
21+ @@ -71 ,6 +71 ,7 @@
22+ #include "utilities/bitMap.inline. hpp"
8123 #include "utilities/defaultStream.hpp"
8224 #include "utilities/hashtable.inline.hpp"
8325+ #include "gc/shared/softRefPolicy.hpp"
8426 #if INCLUDE_G1GC
8527 #include "gc/g1/g1CollectedHeap.hpp"
8628 #endif
8729diff --git a/src/hotspot/share/oops/constantPool.cpp b/src/hotspot/share/oops/constantPool.cpp
88- index fc6c933eb..fd58a69ff 100644
30+ index 61cbf259e..938666dac 100644
8931--- a/src/hotspot/share/oops/constantPool.cpp
9032+++ b/src/hotspot/share/oops/constantPool.cpp
91- @@ -414 ,8 +414 ,12 @@ void ConstantPool::remove_unshareable_info() {
33+ @@ -415 ,8 +415 ,12 @@ void ConstantPool::remove_unshareable_info() {
9234 }
9335
9436 int ConstantPool::cp_to_object_index(int cp_index) {
0 commit comments