Skip to content

Commit 021c476

Browse files
author
David Holmes
committed
8347148: [BACKOUT] AccessFlags can be u2 in metadata
Reviewed-by: coleenp
1 parent ddb5881 commit 021c476

Some content is hidden

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

58 files changed

+283
-278
lines changed

src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -503,7 +503,7 @@ void InterpreterMacroAssembler::remove_activation(
503503

504504
// get method access flags
505505
ldr(r1, Address(rfp, frame::interpreter_frame_method_offset * wordSize));
506-
ldrh(r2, Address(r1, Method::access_flags_offset()));
506+
ldr(r2, Address(r1, Method::access_flags_offset()));
507507
tbz(r2, exact_log2(JVM_ACC_SYNCHRONIZED), unlocked);
508508

509509
// Don't unlock anything if the _do_not_unlock_if_synchronized flag

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
44
* Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
55
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -760,7 +760,7 @@ AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm
760760
Label L_skip_barrier;
761761

762762
{ // Bypass the barrier for non-static methods
763-
__ ldrh(rscratch1, Address(rmethod, Method::access_flags_offset()));
763+
__ ldrw(rscratch1, Address(rmethod, Method::access_flags_offset()));
764764
__ andsw(zr, rscratch1, JVM_ACC_STATIC);
765765
__ br(Assembler::EQ, L_skip_barrier); // non-static
766766
}

src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -809,7 +809,7 @@ void TemplateInterpreterGenerator::lock_method() {
809809
#ifdef ASSERT
810810
{
811811
Label L;
812-
__ ldrh(r0, access_flags);
812+
__ ldrw(r0, access_flags);
813813
__ tst(r0, JVM_ACC_SYNCHRONIZED);
814814
__ br(Assembler::NE, L);
815815
__ stop("method doesn't need synchronization");
@@ -820,7 +820,7 @@ void TemplateInterpreterGenerator::lock_method() {
820820
// get synchronization object
821821
{
822822
Label done;
823-
__ ldrh(r0, access_flags);
823+
__ ldrw(r0, access_flags);
824824
__ tst(r0, JVM_ACC_STATIC);
825825
// get receiver (assume this is frequent case)
826826
__ ldr(r0, Address(rlocals, Interpreter::local_offset_in_bytes(0)));
@@ -1225,7 +1225,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
12251225

12261226
// make sure method is native & not abstract
12271227
#ifdef ASSERT
1228-
__ ldrh(r0, access_flags);
1228+
__ ldrw(r0, access_flags);
12291229
{
12301230
Label L;
12311231
__ tst(r0, JVM_ACC_NATIVE);
@@ -1277,7 +1277,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
12771277
#ifdef ASSERT
12781278
{
12791279
Label L;
1280-
__ ldrh(r0, access_flags);
1280+
__ ldrw(r0, access_flags);
12811281
__ tst(r0, JVM_ACC_SYNCHRONIZED);
12821282
__ br(Assembler::EQ, L);
12831283
__ stop("method needs synchronization");
@@ -1354,7 +1354,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
13541354
// pass mirror handle if static call
13551355
{
13561356
Label L;
1357-
__ ldrh(t, Address(rmethod, Method::access_flags_offset()));
1357+
__ ldrw(t, Address(rmethod, Method::access_flags_offset()));
13581358
__ tbz(t, exact_log2(JVM_ACC_STATIC), L);
13591359
// get mirror
13601360
__ load_mirror(t, rmethod, r10, rscratch2);
@@ -1564,7 +1564,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
15641564
// do unlocking if necessary
15651565
{
15661566
Label L;
1567-
__ ldrh(t, Address(rmethod, Method::access_flags_offset()));
1567+
__ ldrw(t, Address(rmethod, Method::access_flags_offset()));
15681568
__ tbz(t, exact_log2(JVM_ACC_SYNCHRONIZED), L);
15691569
// the code below should be shared with interpreter macro
15701570
// assembler implementation
@@ -1695,7 +1695,7 @@ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
16951695

16961696
// make sure method is not native & not abstract
16971697
#ifdef ASSERT
1698-
__ ldrh(r0, access_flags);
1698+
__ ldrw(r0, access_flags);
16991699
{
17001700
Label L;
17011701
__ tst(r0, JVM_ACC_NATIVE);
@@ -1751,7 +1751,7 @@ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
17511751
#ifdef ASSERT
17521752
{
17531753
Label L;
1754-
__ ldrh(r0, access_flags);
1754+
__ ldrw(r0, access_flags);
17551755
__ tst(r0, JVM_ACC_SYNCHRONIZED);
17561756
__ br(Assembler::EQ, L);
17571757
__ stop("method needs synchronization");

src/hotspot/cpu/arm/interp_masm_arm.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2008, 2024, 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
@@ -736,7 +736,7 @@ void InterpreterMacroAssembler::remove_activation(TosState state, Register ret_a
736736
ldrb(Rflag, do_not_unlock_if_synchronized);
737737

738738
// get method access flags
739-
ldrh(Raccess_flags, Address(Rmethod, Method::access_flags_offset()));
739+
ldr_u32(Raccess_flags, Address(Rmethod, Method::access_flags_offset()));
740740

741741
strb(zero_register(Rtemp), do_not_unlock_if_synchronized); // reset the flag
742742

src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2008, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2008, 2024, 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
@@ -579,7 +579,7 @@ void TemplateInterpreterGenerator::lock_method() {
579579

580580
#ifdef ASSERT
581581
{ Label L;
582-
__ ldrh(Rtemp, Address(Rmethod, Method::access_flags_offset()));
582+
__ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
583583
__ tbnz(Rtemp, JVM_ACC_SYNCHRONIZED_BIT, L);
584584
__ stop("method doesn't need synchronization");
585585
__ bind(L);
@@ -588,7 +588,7 @@ void TemplateInterpreterGenerator::lock_method() {
588588

589589
// get synchronization object
590590
{ Label done;
591-
__ ldrh(Rtemp, Address(Rmethod, Method::access_flags_offset()));
591+
__ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
592592
__ tst(Rtemp, JVM_ACC_STATIC);
593593
__ ldr(R0, Address(Rlocals, Interpreter::local_offset_in_bytes(0)), eq); // get receiver (assume this is frequent case)
594594
__ b(done, eq);
@@ -851,7 +851,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
851851

852852
// make sure method is native & not abstract
853853
#ifdef ASSERT
854-
__ ldrh(Rtemp, Address(Rmethod, Method::access_flags_offset()));
854+
__ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
855855
{
856856
Label L;
857857
__ tbnz(Rtemp, JVM_ACC_NATIVE_BIT, L);
@@ -893,7 +893,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
893893
// no synchronization necessary
894894
#ifdef ASSERT
895895
{ Label L;
896-
__ ldrh(Rtemp, Address(Rmethod, Method::access_flags_offset()));
896+
__ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
897897
__ tbz(Rtemp, JVM_ACC_SYNCHRONIZED_BIT, L);
898898
__ stop("method needs synchronization");
899899
__ bind(L);
@@ -975,7 +975,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
975975
// Pass JNIEnv and mirror for static methods
976976
{
977977
Label L;
978-
__ ldrh(Rtemp, Address(Rmethod, Method::access_flags_offset()));
978+
__ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
979979
__ add(R0, Rthread, in_bytes(JavaThread::jni_environment_offset()));
980980
__ tbz(Rtemp, JVM_ACC_STATIC_BIT, L);
981981
__ load_mirror(Rtemp, Rmethod, Rtemp);
@@ -1204,7 +1204,7 @@ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
12041204

12051205
// make sure method is not native & not abstract
12061206
#ifdef ASSERT
1207-
__ ldrh(Rtemp, Address(Rmethod, Method::access_flags_offset()));
1207+
__ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
12081208
{
12091209
Label L;
12101210
__ tbz(Rtemp, JVM_ACC_NATIVE_BIT, L);
@@ -1249,7 +1249,7 @@ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
12491249
// no synchronization necessary
12501250
#ifdef ASSERT
12511251
{ Label L;
1252-
__ ldrh(Rtemp, Address(Rmethod, Method::access_flags_offset()));
1252+
__ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
12531253
__ tbz(Rtemp, JVM_ACC_SYNCHRONIZED_BIT, L);
12541254
__ stop("method needs synchronization");
12551255
__ bind(L);

src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2012, 2024 SAP SE. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -681,14 +681,14 @@ void InterpreterMacroAssembler::unlock_if_synchronized_method(TosState state,
681681
// Check if synchronized method or unlocking prevented by
682682
// JavaThread::do_not_unlock_if_synchronized flag.
683683
lbz(Rdo_not_unlock_flag, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread);
684-
lhz(Raccess_flags, in_bytes(Method::access_flags_offset()), R19_method);
684+
lwz(Raccess_flags, in_bytes(Method::access_flags_offset()), R19_method);
685685
li(R0, 0);
686686
stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); // reset flag
687687

688688
push(state);
689689

690690
// Skip if we don't have to unlock.
691-
testbitdi(CCR0, R0, Raccess_flags, JVM_ACC_SYNCHRONIZED_BIT);
691+
rldicl_(R0, Raccess_flags, 64-JVM_ACC_SYNCHRONIZED_BIT, 63); // Extract bit and compare to 0.
692692
beq(CCR0, Lunlocked);
693693

694694
cmpwi(CCR0, Rdo_not_unlock_flag, 0);

src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2012, 2024 SAP SE. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -1202,7 +1202,7 @@ AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm
12021202
Label L_skip_barrier;
12031203

12041204
{ // Bypass the barrier for non-static methods
1205-
__ lhz(R0, in_bytes(Method::access_flags_offset()), R19_method);
1205+
__ lwz(R0, in_bytes(Method::access_flags_offset()), R19_method);
12061206
__ andi_(R0, R0, JVM_ACC_STATIC);
12071207
__ beq(CCR0, L_skip_barrier); // non-static
12081208
}

src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2015, 2024 SAP SE. All rights reserved.
44
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55
*
@@ -144,9 +144,9 @@ address TemplateInterpreterGenerator::generate_slow_signature_handler() {
144144
// TODO PPC port: requires change in shared code.
145145
//assert(in_bytes(AccessFlags::flags_offset()) == 0,
146146
// "MethodDesc._access_flags == MethodDesc._access_flags._flags");
147-
// _access_flags must be a 16 bit value.
148-
assert(sizeof(AccessFlags) == 2, "wrong size");
149-
__ lhz(R11_scratch1/*access_flags*/, method_(access_flags));
147+
// _access_flags must be a 32 bit value.
148+
assert(sizeof(AccessFlags) == 4, "wrong size");
149+
__ lwa(R11_scratch1/*access_flags*/, method_(access_flags));
150150
// testbit with condition register.
151151
__ testbitdi(CCR0, R0, R11_scratch1/*access_flags*/, JVM_ACC_STATIC_BIT);
152152
__ btrue(CCR0, L);
@@ -823,7 +823,7 @@ void TemplateInterpreterGenerator::lock_method(Register Rflags, Register Rscratc
823823

824824
{
825825
if (!flags_preloaded) {
826-
__ lhz(Rflags, method_(access_flags));
826+
__ lwz(Rflags, method_(access_flags));
827827
}
828828

829829
#ifdef ASSERT
@@ -1301,8 +1301,8 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
13011301
assert(__ nonvolatile_accross_vthread_preemtion(access_flags),
13021302
"access_flags not preserved");
13031303
// Type check.
1304-
assert(2 == sizeof(AccessFlags), "unexpected field size");
1305-
__ lhz(access_flags, method_(access_flags));
1304+
assert(4 == sizeof(AccessFlags), "unexpected field size");
1305+
__ lwz(access_flags, method_(access_flags));
13061306

13071307
// We don't want to reload R19_method and access_flags after calls
13081308
// to some helper functions.
@@ -1769,7 +1769,7 @@ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
17691769
#ifdef ASSERT
17701770
else {
17711771
Label Lok;
1772-
__ lhz(R0, in_bytes(Method::access_flags_offset()), R19_method);
1772+
__ lwz(R0, in_bytes(Method::access_flags_offset()), R19_method);
17731773
__ andi_(R0, R0, JVM_ACC_SYNCHRONIZED);
17741774
__ asm_assert_eq("method needs synchronization");
17751775
__ bind(Lok);

src/hotspot/cpu/riscv/interp_masm_riscv.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
44
* Copyright (c) 2020, 2023, Huawei Technologies Co., Ltd. All rights reserved.
55
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -544,7 +544,7 @@ void InterpreterMacroAssembler::remove_activation(
544544

545545
// get method access flags
546546
ld(x11, Address(fp, frame::interpreter_frame_method_offset * wordSize));
547-
load_unsigned_short(x12, Address(x11, Method::access_flags_offset()));
547+
ld(x12, Address(x11, Method::access_flags_offset()));
548548
test_bit(t0, x12, exact_log2(JVM_ACC_SYNCHRONIZED));
549549
beqz(t0, unlocked);
550550

src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
44
* Copyright (c) 2020, 2023, Huawei Technologies Co., Ltd. All rights reserved.
55
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -641,7 +641,7 @@ AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm
641641
Label L_skip_barrier;
642642

643643
{ // Bypass the barrier for non-static methods
644-
__ load_unsigned_short(t0, Address(xmethod, Method::access_flags_offset()));
644+
__ lwu(t0, Address(xmethod, Method::access_flags_offset()));
645645
__ test_bit(t1, t0, exact_log2(JVM_ACC_STATIC));
646646
__ beqz(t1, L_skip_barrier); // non-static
647647
}

src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
33
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
44
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
55
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -714,14 +714,14 @@ void TemplateInterpreterGenerator::lock_method() {
714714
const int entry_size = frame::interpreter_frame_monitor_size_in_bytes();
715715

716716
#ifdef ASSERT
717-
__ load_unsigned_short(x10, access_flags);
717+
__ lwu(x10, access_flags);
718718
__ verify_access_flags(x10, JVM_ACC_SYNCHRONIZED, "method doesn't need synchronization", false);
719719
#endif // ASSERT
720720

721721
// get synchronization object
722722
{
723723
Label done;
724-
__ load_unsigned_short(x10, access_flags);
724+
__ lwu(x10, access_flags);
725725
__ andi(t0, x10, JVM_ACC_STATIC);
726726
// get receiver (assume this is frequent case)
727727
__ ld(x10, Address(xlocals, Interpreter::local_offset_in_bytes(0)));
@@ -1028,7 +1028,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
10281028

10291029
// make sure method is native & not abstract
10301030
#ifdef ASSERT
1031-
__ load_unsigned_short(x10, access_flags);
1031+
__ lwu(x10, access_flags);
10321032
__ verify_access_flags(x10, JVM_ACC_NATIVE, "tried to execute non-native method as native", false);
10331033
__ verify_access_flags(x10, JVM_ACC_ABSTRACT, "tried to execute abstract method in interpreter");
10341034
#endif
@@ -1066,7 +1066,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
10661066
} else {
10671067
// no synchronization necessary
10681068
#ifdef ASSERT
1069-
__ load_unsigned_short(x10, access_flags);
1069+
__ lwu(x10, access_flags);
10701070
__ verify_access_flags(x10, JVM_ACC_SYNCHRONIZED, "method needs synchronization");
10711071
#endif
10721072
}
@@ -1130,7 +1130,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
11301130
// pass mirror handle if static call
11311131
{
11321132
Label L;
1133-
__ load_unsigned_short(t, Address(xmethod, Method::access_flags_offset()));
1133+
__ lwu(t, Address(xmethod, Method::access_flags_offset()));
11341134
__ test_bit(t0, t, exact_log2(JVM_ACC_STATIC));
11351135
__ beqz(t0, L);
11361136
// get mirror
@@ -1346,7 +1346,7 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
13461346
// do unlocking if necessary
13471347
{
13481348
Label L;
1349-
__ load_unsigned_short(t, Address(xmethod, Method::access_flags_offset()));
1349+
__ lwu(t, Address(xmethod, Method::access_flags_offset()));
13501350
__ test_bit(t0, t, exact_log2(JVM_ACC_SYNCHRONIZED));
13511351
__ beqz(t0, L);
13521352
// the code below should be shared with interpreter macro
@@ -1472,7 +1472,7 @@ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
14721472

14731473
// make sure method is not native & not abstract
14741474
#ifdef ASSERT
1475-
__ load_unsigned_short(x10, access_flags);
1475+
__ lwu(x10, access_flags);
14761476
__ verify_access_flags(x10, JVM_ACC_NATIVE, "tried to execute native method as non-native");
14771477
__ verify_access_flags(x10, JVM_ACC_ABSTRACT, "tried to execute abstract method in interpreter");
14781478
#endif
@@ -1519,7 +1519,7 @@ address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
15191519
} else {
15201520
// no synchronization necessary
15211521
#ifdef ASSERT
1522-
__ load_unsigned_short(x10, access_flags);
1522+
__ lwu(x10, access_flags);
15231523
__ verify_access_flags(x10, JVM_ACC_SYNCHRONIZED, "method needs synchronization");
15241524
#endif
15251525
}

0 commit comments

Comments
 (0)