Skip to content

Commit 597049c

Browse files
author
Fei Yang
committed
Merge branch 'master' into riscv-port
2 parents 6247be1 + d0ea7c9 commit 597049c

File tree

157 files changed

+2969
-1008
lines changed

Some content is hidden

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

157 files changed

+2969
-1008
lines changed

src/demo/share/jfc/SwingSet2/TableDemo.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -768,4 +768,13 @@ void updateDragEnabled(boolean dragEnabled) {
768768
footerTextField.setDragEnabled(dragEnabled);
769769
}
770770

771+
@Override
772+
public ImageIcon createImageIcon(String filename, String description) {
773+
ImageIcon imageIcon = super.createImageIcon(filename, description);
774+
AccessibleContext context = imageIcon.getAccessibleContext();
775+
if (context!= null) {
776+
context.setAccessibleName(description);
777+
}
778+
return imageIcon;
779+
}
771780
}

src/hotspot/cpu/aarch64/matcher_aarch64.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,6 @@
5555
// No support for generic vector operands.
5656
static const bool supports_generic_vector_operands = false;
5757

58-
// No support for 48 extra htbl entries in aes-gcm intrinsic
59-
static const int htbl_entries = 0;
60-
6158
static constexpr bool isSimpleConstant64(jlong value) {
6259
// Will one (StoreL ConL) be cheaper than two (StoreI ConI)?.
6360
// Probably always true, even if a temp register is required.

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3094,8 +3094,7 @@ class StubGenerator: public StubCodeGenerator {
30943094
// key = c_rarg4
30953095
// state = c_rarg5 - GHASH.state
30963096
// subkeyHtbl = c_rarg6 - powers of H
3097-
// subkeyHtbl_48_entries = c_rarg7 (not used)
3098-
// counter = [sp, #0] pointer to 16 bytes of CTR
3097+
// counter = c_rarg7 - 16 bytes of CTR
30993098
// return - number of processed bytes
31003099
address generate_galoisCounterMode_AESCrypt() {
31013100
address ghash_polynomial = __ pc();
@@ -3121,10 +3120,7 @@ class StubGenerator: public StubCodeGenerator {
31213120

31223121
const Register subkeyHtbl = c_rarg6;
31233122

3124-
// Pointer to CTR is passed on the stack before the (fp, lr) pair.
3125-
const Address counter_mem(sp, 2 * wordSize);
31263123
const Register counter = c_rarg7;
3127-
__ ldr(counter, counter_mem);
31283124

31293125
const Register keylen = r10;
31303126
// Save state before entering routine

src/hotspot/cpu/arm/matcher_arm.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@
5656
// No support for generic vector operands.
5757
static const bool supports_generic_vector_operands = false;
5858

59-
// No support for 48 extra htbl entries in aes-gcm intrinsic
60-
static const int htbl_entries = -1;
61-
6259
static constexpr bool isSimpleConstant64(jlong value) {
6360
// Will one (StoreL ConL) be cheaper than two (StoreI ConI)?.
6461
return false;

src/hotspot/cpu/ppc/matcher_ppc.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@
5757
// No support for generic vector operands.
5858
static const bool supports_generic_vector_operands = false;
5959

60-
// No support for 48 extra htbl entries in aes-gcm intrinsic
61-
static const int htbl_entries = -1;
62-
6360
static constexpr bool isSimpleConstant64(jlong value) {
6461
// Probably always true, even if a temp register is required.
6562
return true;

src/hotspot/cpu/riscv/matcher_riscv.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@
5656
// No support for generic vector operands.
5757
static const bool supports_generic_vector_operands = false;
5858

59-
// No support for 48 extra htbl entries in aes-gcm intrinsic
60-
static const int htbl_entries = 0;
61-
6259
static constexpr bool isSimpleConstant64(jlong value) {
6360
// Will one (StoreL ConL) be cheaper than two (StoreI ConI)?.
6461
// Probably always true, even if a temp register is required.

src/hotspot/cpu/riscv/riscv.ad

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2274,12 +2274,12 @@ encode %{
22742274
%}
22752275

22762276
// using the cr register as the bool result: 0 for success; others failed.
2277-
enc_class riscv64_enc_fast_lock(iRegP object, iRegP box, iRegP tmp, iRegP tmp2) %{
2277+
enc_class riscv64_enc_fast_lock(iRegP object, iRegP box, iRegP tmp1, iRegP tmp2) %{
22782278
C2_MacroAssembler _masm(&cbuf);
22792279
Register flag = t1;
22802280
Register oop = as_Register($object$$reg);
22812281
Register box = as_Register($box$$reg);
2282-
Register disp_hdr = as_Register($tmp$$reg);
2282+
Register disp_hdr = as_Register($tmp1$$reg);
22832283
Register tmp = as_Register($tmp2$$reg);
22842284
Label cont;
22852285
Label object_has_monitor;
@@ -2368,12 +2368,12 @@ encode %{
23682368
%}
23692369

23702370
// using cr flag to indicate the fast_unlock result: 0 for success; others failed.
2371-
enc_class riscv64_enc_fast_unlock(iRegP object, iRegP box, iRegP tmp, iRegP tmp2) %{
2371+
enc_class riscv64_enc_fast_unlock(iRegP object, iRegP box, iRegP tmp1, iRegP tmp2) %{
23722372
C2_MacroAssembler _masm(&cbuf);
23732373
Register flag = t1;
23742374
Register oop = as_Register($object$$reg);
23752375
Register box = as_Register($box$$reg);
2376-
Register disp_hdr = as_Register($tmp$$reg);
2376+
Register disp_hdr = as_Register($tmp1$$reg);
23772377
Register tmp = as_Register($tmp2$$reg);
23782378
Label cont;
23792379
Label object_has_monitor;
@@ -9880,31 +9880,31 @@ instruct CallLeafNoFPDirect(method meth, rFlagsReg cr)
98809880
// gen_subtype_check()). Return zero for a hit. The encoding
98819881
// ALSO sets flags.
98829882

9883-
instruct partialSubtypeCheck(iRegP_R15 result, iRegP_R14 sub, iRegP_R10 super, iRegP_R12 temp, rFlagsReg cr)
9883+
instruct partialSubtypeCheck(iRegP_R15 result, iRegP_R14 sub, iRegP_R10 super, iRegP_R12 tmp, rFlagsReg cr)
98849884
%{
98859885
match(Set result (PartialSubtypeCheck sub super));
9886-
effect(KILL temp, KILL cr);
9886+
effect(KILL tmp, KILL cr);
98879887

98889888
ins_cost(2 * STORE_COST + 3 * LOAD_COST + 4 * ALU_COST + BRANCH_COST * 4);
98899889
format %{ "partialSubtypeCheck $result, $sub, $super\t#@partialSubtypeCheck" %}
98909890

9891-
ins_encode(riscv64_enc_partial_subtype_check(sub, super, temp, result));
9891+
ins_encode(riscv64_enc_partial_subtype_check(sub, super, tmp, result));
98929892

98939893
opcode(0x1); // Force zero of result reg on hit
98949894

98959895
ins_pipe(pipe_class_memory);
98969896
%}
98979897

9898-
instruct partialSubtypeCheckVsZero(iRegP_R15 result, iRegP_R14 sub, iRegP_R10 super, iRegP_R12 temp,
9898+
instruct partialSubtypeCheckVsZero(iRegP_R15 result, iRegP_R14 sub, iRegP_R10 super, iRegP_R12 tmp,
98999899
immP0 zero, rFlagsReg cr)
99009900
%{
99019901
match(Set cr (CmpP (PartialSubtypeCheck sub super) zero));
9902-
effect(KILL temp, KILL result);
9902+
effect(KILL tmp, KILL result);
99039903

99049904
ins_cost(2 * STORE_COST + 3 * LOAD_COST + 4 * ALU_COST + BRANCH_COST * 4);
99059905
format %{ "partialSubtypeCheck $result, $sub, $super == 0\t#@partialSubtypeCheckVsZero" %}
99069906

9907-
ins_encode(riscv64_enc_partial_subtype_check(sub, super, temp, result));
9907+
ins_encode(riscv64_enc_partial_subtype_check(sub, super, tmp, result));
99089908

99099909
opcode(0x0); // Don't zero result reg on hit
99109910

@@ -10217,34 +10217,34 @@ instruct string_equalsU(iRegP_R11 str1, iRegP_R13 str2, iRegI_R14 cnt,
1021710217

1021810218
instruct array_equalsB(iRegP_R11 ary1, iRegP_R12 ary2, iRegI_R10 result,
1021910219
iRegP_R13 tmp1, iRegP_R14 tmp2, iRegP_R15 tmp3,
10220-
iRegP_R16 tmp4, iRegP_R28 tmp, rFlagsReg cr)
10220+
iRegP_R16 tmp4, iRegP_R28 tmp5, rFlagsReg cr)
1022110221
%{
1022210222
predicate(!UseRVV && ((AryEqNode*)n)->encoding() == StrIntrinsicNode::LL);
1022310223
match(Set result (AryEq ary1 ary2));
10224-
effect(KILL tmp, USE_KILL ary1, USE_KILL ary2, TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL cr);
10224+
effect(USE_KILL ary1, USE_KILL ary2, TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL tmp5, KILL cr);
1022510225

10226-
format %{ "Array Equals $ary1, ary2 -> $result\t#@array_equalsB // KILL $tmp" %}
10226+
format %{ "Array Equals $ary1, ary2 -> $result\t#@array_equalsB // KILL $tmp5" %}
1022710227
ins_encode %{
1022810228
__ arrays_equals($ary1$$Register, $ary2$$Register,
1022910229
$tmp1$$Register, $tmp2$$Register, $tmp3$$Register, $tmp4$$Register,
10230-
$result$$Register, $tmp$$Register, 1);
10230+
$result$$Register, $tmp5$$Register, 1);
1023110231
%}
1023210232
ins_pipe(pipe_class_memory);
1023310233
%}
1023410234

1023510235
instruct array_equalsC(iRegP_R11 ary1, iRegP_R12 ary2, iRegI_R10 result,
1023610236
iRegP_R13 tmp1, iRegP_R14 tmp2, iRegP_R15 tmp3,
10237-
iRegP_R16 tmp4, iRegP_R28 tmp, rFlagsReg cr)
10237+
iRegP_R16 tmp4, iRegP_R28 tmp5, rFlagsReg cr)
1023810238
%{
1023910239
predicate(!UseRVV && ((AryEqNode*)n)->encoding() == StrIntrinsicNode::UU);
1024010240
match(Set result (AryEq ary1 ary2));
10241-
effect(KILL tmp, USE_KILL ary1, USE_KILL ary2, TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL cr);
10241+
effect(USE_KILL ary1, USE_KILL ary2, TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL tmp5, KILL cr);
1024210242

10243-
format %{ "Array Equals $ary1, ary2 -> $result\t#@array_equalsC // KILL $tmp" %}
10243+
format %{ "Array Equals $ary1, ary2 -> $result\t#@array_equalsC // KILL $tmp5" %}
1024410244
ins_encode %{
1024510245
__ arrays_equals($ary1$$Register, $ary2$$Register,
1024610246
$tmp1$$Register, $tmp2$$Register, $tmp3$$Register, $tmp4$$Register,
10247-
$result$$Register, $tmp$$Register, 2);
10247+
$result$$Register, $tmp5$$Register, 2);
1024810248
%}
1024910249
ins_pipe(pipe_class_memory);
1025010250
%}
@@ -10287,29 +10287,29 @@ instruct tlsLoadP(javaThread_RegP dst)
1028710287

1028810288
// inlined locking and unlocking
1028910289
// using t1 as the 'flag' register to bridge the BoolNode producers and consumers
10290-
instruct cmpFastLock(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRegPNoSp tmp2)
10290+
instruct cmpFastLock(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp1, iRegPNoSp tmp2)
1029110291
%{
1029210292
match(Set cr (FastLock object box));
10293-
effect(TEMP tmp, TEMP tmp2);
10293+
effect(TEMP tmp1, TEMP tmp2);
1029410294

1029510295
ins_cost(LOAD_COST * 2 + STORE_COST * 3 + ALU_COST * 6 + BRANCH_COST * 3);
10296-
format %{ "fastlock $object,$box\t! kills $tmp,$tmp2, #@cmpFastLock" %}
10296+
format %{ "fastlock $object,$box\t! kills $tmp1,$tmp2, #@cmpFastLock" %}
1029710297

10298-
ins_encode(riscv64_enc_fast_lock(object, box, tmp, tmp2));
10298+
ins_encode(riscv64_enc_fast_lock(object, box, tmp1, tmp2));
1029910299

1030010300
ins_pipe(pipe_serial);
1030110301
%}
1030210302

1030310303
// using t1 as the 'flag' register to bridge the BoolNode producers and consumers
10304-
instruct cmpFastUnlock(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp, iRegPNoSp tmp2)
10304+
instruct cmpFastUnlock(rFlagsReg cr, iRegP object, iRegP box, iRegPNoSp tmp1, iRegPNoSp tmp2)
1030510305
%{
1030610306
match(Set cr (FastUnlock object box));
10307-
effect(TEMP tmp, TEMP tmp2);
10307+
effect(TEMP tmp1, TEMP tmp2);
1030810308

1030910309
ins_cost(LOAD_COST * 2 + STORE_COST + ALU_COST * 2 + BRANCH_COST * 4);
10310-
format %{ "fastunlock $object,$box\t! kills $tmp, $tmp2, #@cmpFastUnlock" %}
10310+
format %{ "fastunlock $object,$box\t! kills $tmp1, $tmp2, #@cmpFastUnlock" %}
1031110311

10312-
ins_encode(riscv64_enc_fast_unlock(object, box, tmp, tmp2));
10312+
ins_encode(riscv64_enc_fast_unlock(object, box, tmp1, tmp2));
1031310313

1031410314
ins_pipe(pipe_serial);
1031510315
%}

src/hotspot/cpu/riscv/stubGenerator_riscv.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -990,7 +990,7 @@ class StubGenerator: public StubCodeGenerator {
990990

991991
// Scan over array at a for count oops, verifying each one.
992992
// Preserves a and count, clobbers t0 and t1.
993-
void verify_oop_array (size_t size, Register a, Register count, Register temp) {
993+
void verify_oop_array(size_t size, Register a, Register count, Register temp) {
994994
Label loop, end;
995995
__ mv(t1, zr);
996996
__ slli(t0, count, log2i_exact(size));

src/hotspot/cpu/s390/matcher_s390.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@
5757
// No support for generic vector operands.
5858
static const bool supports_generic_vector_operands = false;
5959

60-
// No support for 48 extra htbl entries in aes-gcm intrinsic
61-
static const int htbl_entries = -1;
62-
6360
static constexpr bool isSimpleConstant64(jlong value) {
6461
// Probably always true, even if a temp register is required.
6562
return true;

src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -420,9 +420,9 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm,
420420

421421
if (is_strong) {
422422
if (is_narrow) {
423-
__ call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_strong_narrow), arg0, arg1);
423+
__ super_call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_strong_narrow), arg0, arg1);
424424
} else {
425-
__ call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_strong), arg0, arg1);
425+
__ super_call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_strong), arg0, arg1);
426426
}
427427
} else if (is_weak) {
428428
if (is_narrow) {
@@ -433,7 +433,7 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm,
433433
} else {
434434
assert(is_phantom, "only remaining strength");
435435
assert(!is_narrow, "phantom access cannot be narrow");
436-
__ call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_phantom), arg0, arg1);
436+
__ super_call_VM_leaf(CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_phantom), arg0, arg1);
437437
}
438438

439439
#ifdef _LP64

0 commit comments

Comments
 (0)