Skip to content

Commit 26b7640

Browse files
committed
8369043: [lworld] -XX:AOTMode=create crashes with UseCompactObjectHeaders on aarch64
Reviewed-by: thartmann
1 parent df1aa75 commit 26b7640

File tree

2 files changed

+2
-10
lines changed

2 files changed

+2
-10
lines changed

src/hotspot/cpu/aarch64/vtableStubs_aarch64.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ VtableStub* VtableStubs::create_vtable_stub(int vtable_index, bool caller_is_c1)
6363
int slop_bytes = 0;
6464
int slop_delta = 0;
6565

66-
// No variance was detected in vtable stub sizes. Setting index_dependent_slop == 0 will unveil any deviation from this observation.
67-
const int index_dependent_slop = 0;
6866
ByteSize entry_offset = caller_is_c1 ? Method::from_compiled_inline_offset() : Method::from_compiled_inline_ro_offset();
6967

7068
ResourceMark rm;
@@ -135,8 +133,7 @@ VtableStub* VtableStubs::create_vtable_stub(int vtable_index, bool caller_is_c1)
135133
__ br(rscratch1);
136134

137135
masm->flush();
138-
slop_bytes += index_dependent_slop; // add'l slop for size variance due to large itable offsets
139-
bookkeeping(masm, tty, s, npe_addr, ame_addr, true, vtable_index, slop_bytes, index_dependent_slop);
136+
bookkeeping(masm, tty, s, npe_addr, ame_addr, true, vtable_index, slop_bytes, 0);
140137

141138
return s;
142139
}
@@ -158,8 +155,6 @@ VtableStub* VtableStubs::create_itable_stub(int itable_index, bool caller_is_c1)
158155
int slop_bytes = 0;
159156
int slop_delta = 0;
160157

161-
const int index_dependent_slop = (itable_index == 0) ? 4 : // code size change with transition from 8-bit to 32-bit constant (@index == 16).
162-
(itable_index < 16) ? 3 : 0; // index == 0 generates even shorter code.
163158
ByteSize entry_offset = caller_is_c1 ? Method::from_compiled_inline_offset() : Method::from_compiled_inline_ro_offset();
164159

165160
ResourceMark rm;
@@ -239,8 +234,7 @@ VtableStub* VtableStubs::create_itable_stub(int itable_index, bool caller_is_c1)
239234
__ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
240235

241236
masm->flush();
242-
slop_bytes += index_dependent_slop; // add'l slop for size variance due to large itable offsets
243-
bookkeeping(masm, tty, s, npe_addr, ame_addr, false, itable_index, slop_bytes, index_dependent_slop);
237+
bookkeeping(masm, tty, s, npe_addr, ame_addr, false, itable_index, slop_bytes, 0);
244238

245239
return s;
246240
}

test/hotspot/jtreg/ProblemList.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,6 @@ runtime/cds/TestDefaultArchiveLoading.java#coops_nocoh 8366774
157157
runtime/cds/TestDefaultArchiveLoading.java#nocoops_nocoh 8366774 generic-all
158158

159159
# Valhalla + AOT
160-
runtime/cds/appcds/aotCache/HelloAOTCache.java 8369043 generic-aarch64
161-
runtime/cds/appcds/aotCode/AOTCodeFlags.java 8369043 generic-aarch64
162160
runtime/cds/appcds/methodHandles/MethodHandlesGeneralTest.java#aot 8367408 generic-all
163161
runtime/cds/appcds/resolvedConstants/ResolvedConstants.java#aot 8371456 generic-all
164162
runtime/cds/appcds/resolvedConstants/ResolvedConstants.java#static 8371456 generic-all

0 commit comments

Comments
 (0)