Skip to content

Commit b1c516d

Browse files
committed
Merge remote-tracking branch 'upstream/jdk/master' into jdk-macos
2 parents 5add926 + b006f22 commit b1c516d

File tree

1,034 files changed

+6443
-5340
lines changed

Some content is hidden

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

1,034 files changed

+6443
-5340
lines changed

src/hotspot/cpu/aarch64/aarch64.ad

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6260,6 +6260,7 @@ operand iRegL2I(iRegL reg) %{
62606260
interface(REG_INTER)
62616261
%}
62626262

6263+
opclass vmem2(indirect, indIndex, indOffI2, indOffL2);
62636264
opclass vmem4(indirect, indIndex, indOffI4, indOffL4);
62646265
opclass vmem8(indirect, indIndex, indOffI8, indOffL8);
62656266
opclass vmem16(indirect, indIndex, indOffI16, indOffL16);
@@ -9225,7 +9226,6 @@ instruct compareAndSwapNAcq(iRegINoSp res, indirect mem, iRegNNoSp oldval, iRegN
92259226

92269227
// ---------------------------------------------------------------------
92279228

9228-
92299229
// BEGIN This section of the file is automatically generated. Do not edit --------------
92309230

92319231
// Sundry CAS operations. Note that release is always true,
@@ -9239,7 +9239,10 @@ instruct compareAndSwapNAcq(iRegINoSp res, indirect mem, iRegNNoSp oldval, iRegN
92399239

92409240

92419241

9242+
// This pattern is generated automatically from cas.m4.
9243+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
92429244
instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9245+
92439246
match(Set res (CompareAndExchangeB mem (Binary oldval newval)));
92449247
ins_cost(2 * VOLATILE_REF_COST);
92459248
effect(TEMP_DEF res, KILL cr);
@@ -9255,7 +9258,10 @@ instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
92559258
ins_pipe(pipe_slow);
92569259
%}
92579260

9261+
// This pattern is generated automatically from cas.m4.
9262+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
92589263
instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9264+
92599265
match(Set res (CompareAndExchangeS mem (Binary oldval newval)));
92609266
ins_cost(2 * VOLATILE_REF_COST);
92619267
effect(TEMP_DEF res, KILL cr);
@@ -9271,7 +9277,10 @@ instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
92719277
ins_pipe(pipe_slow);
92729278
%}
92739279

9280+
// This pattern is generated automatically from cas.m4.
9281+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
92749282
instruct compareAndExchangeI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9283+
92759284
match(Set res (CompareAndExchangeI mem (Binary oldval newval)));
92769285
ins_cost(2 * VOLATILE_REF_COST);
92779286
effect(TEMP_DEF res, KILL cr);
@@ -9286,7 +9295,10 @@ instruct compareAndExchangeI(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
92869295
ins_pipe(pipe_slow);
92879296
%}
92889297

9298+
// This pattern is generated automatically from cas.m4.
9299+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
92899300
instruct compareAndExchangeL(iRegLNoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
9301+
92909302
match(Set res (CompareAndExchangeL mem (Binary oldval newval)));
92919303
ins_cost(2 * VOLATILE_REF_COST);
92929304
effect(TEMP_DEF res, KILL cr);
@@ -9301,7 +9313,10 @@ instruct compareAndExchangeL(iRegLNoSp res, indirect mem, iRegL oldval, iRegL ne
93019313
ins_pipe(pipe_slow);
93029314
%}
93039315

9316+
// This pattern is generated automatically from cas.m4.
9317+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
93049318
instruct compareAndExchangeN(iRegNNoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
9319+
93059320
match(Set res (CompareAndExchangeN mem (Binary oldval newval)));
93069321
ins_cost(2 * VOLATILE_REF_COST);
93079322
effect(TEMP_DEF res, KILL cr);
@@ -9316,6 +9331,8 @@ instruct compareAndExchangeN(iRegNNoSp res, indirect mem, iRegN oldval, iRegN ne
93169331
ins_pipe(pipe_slow);
93179332
%}
93189333

9334+
// This pattern is generated automatically from cas.m4.
9335+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
93199336
instruct compareAndExchangeP(iRegPNoSp res, indirect mem, iRegP oldval, iRegP newval, rFlagsReg cr) %{
93209337
predicate(n->as_LoadStore()->barrier_data() == 0);
93219338
match(Set res (CompareAndExchangeP mem (Binary oldval newval)));
@@ -9332,6 +9349,8 @@ instruct compareAndExchangeP(iRegPNoSp res, indirect mem, iRegP oldval, iRegP ne
93329349
ins_pipe(pipe_slow);
93339350
%}
93349351

9352+
// This pattern is generated automatically from cas.m4.
9353+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
93359354
instruct compareAndExchangeBAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
93369355
predicate(needs_acquiring_load_exclusive(n));
93379356
match(Set res (CompareAndExchangeB mem (Binary oldval newval)));
@@ -9349,6 +9368,8 @@ instruct compareAndExchangeBAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI
93499368
ins_pipe(pipe_slow);
93509369
%}
93519370

9371+
// This pattern is generated automatically from cas.m4.
9372+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
93529373
instruct compareAndExchangeSAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
93539374
predicate(needs_acquiring_load_exclusive(n));
93549375
match(Set res (CompareAndExchangeS mem (Binary oldval newval)));
@@ -9366,7 +9387,8 @@ instruct compareAndExchangeSAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI
93669387
ins_pipe(pipe_slow);
93679388
%}
93689389

9369-
9390+
// This pattern is generated automatically from cas.m4.
9391+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
93709392
instruct compareAndExchangeIAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
93719393
predicate(needs_acquiring_load_exclusive(n));
93729394
match(Set res (CompareAndExchangeI mem (Binary oldval newval)));
@@ -9383,6 +9405,8 @@ instruct compareAndExchangeIAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI
93839405
ins_pipe(pipe_slow);
93849406
%}
93859407

9408+
// This pattern is generated automatically from cas.m4.
9409+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
93869410
instruct compareAndExchangeLAcq(iRegLNoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
93879411
predicate(needs_acquiring_load_exclusive(n));
93889412
match(Set res (CompareAndExchangeL mem (Binary oldval newval)));
@@ -9399,7 +9423,8 @@ instruct compareAndExchangeLAcq(iRegLNoSp res, indirect mem, iRegL oldval, iRegL
93999423
ins_pipe(pipe_slow);
94009424
%}
94019425

9402-
9426+
// This pattern is generated automatically from cas.m4.
9427+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
94039428
instruct compareAndExchangeNAcq(iRegNNoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
94049429
predicate(needs_acquiring_load_exclusive(n));
94059430
match(Set res (CompareAndExchangeN mem (Binary oldval newval)));
@@ -9416,6 +9441,8 @@ instruct compareAndExchangeNAcq(iRegNNoSp res, indirect mem, iRegN oldval, iRegN
94169441
ins_pipe(pipe_slow);
94179442
%}
94189443

9444+
// This pattern is generated automatically from cas.m4.
9445+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
94199446
instruct compareAndExchangePAcq(iRegPNoSp res, indirect mem, iRegP oldval, iRegP newval, rFlagsReg cr) %{
94209447
predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));
94219448
match(Set res (CompareAndExchangeP mem (Binary oldval newval)));
@@ -9432,7 +9459,10 @@ instruct compareAndExchangePAcq(iRegPNoSp res, indirect mem, iRegP oldval, iRegP
94329459
ins_pipe(pipe_slow);
94339460
%}
94349461

9462+
// This pattern is generated automatically from cas.m4.
9463+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
94359464
instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9465+
94369466
match(Set res (WeakCompareAndSwapB mem (Binary oldval newval)));
94379467
ins_cost(2 * VOLATILE_REF_COST);
94389468
effect(KILL cr);
@@ -9449,7 +9479,10 @@ instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
94499479
ins_pipe(pipe_slow);
94509480
%}
94519481

9482+
// This pattern is generated automatically from cas.m4.
9483+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
94529484
instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9485+
94539486
match(Set res (WeakCompareAndSwapS mem (Binary oldval newval)));
94549487
ins_cost(2 * VOLATILE_REF_COST);
94559488
effect(KILL cr);
@@ -9466,7 +9499,10 @@ instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
94669499
ins_pipe(pipe_slow);
94679500
%}
94689501

9502+
// This pattern is generated automatically from cas.m4.
9503+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
94699504
instruct weakCompareAndSwapI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9505+
94709506
match(Set res (WeakCompareAndSwapI mem (Binary oldval newval)));
94719507
ins_cost(2 * VOLATILE_REF_COST);
94729508
effect(KILL cr);
@@ -9483,7 +9519,10 @@ instruct weakCompareAndSwapI(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
94839519
ins_pipe(pipe_slow);
94849520
%}
94859521

9522+
// This pattern is generated automatically from cas.m4.
9523+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
94869524
instruct weakCompareAndSwapL(iRegINoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
9525+
94879526
match(Set res (WeakCompareAndSwapL mem (Binary oldval newval)));
94889527
ins_cost(2 * VOLATILE_REF_COST);
94899528
effect(KILL cr);
@@ -9500,7 +9539,10 @@ instruct weakCompareAndSwapL(iRegINoSp res, indirect mem, iRegL oldval, iRegL ne
95009539
ins_pipe(pipe_slow);
95019540
%}
95029541

9542+
// This pattern is generated automatically from cas.m4.
9543+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
95039544
instruct weakCompareAndSwapN(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
9545+
95049546
match(Set res (WeakCompareAndSwapN mem (Binary oldval newval)));
95059547
ins_cost(2 * VOLATILE_REF_COST);
95069548
effect(KILL cr);
@@ -9517,6 +9559,8 @@ instruct weakCompareAndSwapN(iRegINoSp res, indirect mem, iRegN oldval, iRegN ne
95179559
ins_pipe(pipe_slow);
95189560
%}
95199561

9562+
// This pattern is generated automatically from cas.m4.
9563+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
95209564
instruct weakCompareAndSwapP(iRegINoSp res, indirect mem, iRegP oldval, iRegP newval, rFlagsReg cr) %{
95219565
predicate(n->as_LoadStore()->barrier_data() == 0);
95229566
match(Set res (WeakCompareAndSwapP mem (Binary oldval newval)));
@@ -9535,6 +9579,8 @@ instruct weakCompareAndSwapP(iRegINoSp res, indirect mem, iRegP oldval, iRegP ne
95359579
ins_pipe(pipe_slow);
95369580
%}
95379581

9582+
// This pattern is generated automatically from cas.m4.
9583+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
95389584
instruct weakCompareAndSwapBAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
95399585
predicate(needs_acquiring_load_exclusive(n));
95409586
match(Set res (WeakCompareAndSwapB mem (Binary oldval newval)));
@@ -9553,6 +9599,8 @@ instruct weakCompareAndSwapBAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI
95539599
ins_pipe(pipe_slow);
95549600
%}
95559601

9602+
// This pattern is generated automatically from cas.m4.
9603+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
95569604
instruct weakCompareAndSwapSAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
95579605
predicate(needs_acquiring_load_exclusive(n));
95589606
match(Set res (WeakCompareAndSwapS mem (Binary oldval newval)));
@@ -9571,6 +9619,8 @@ instruct weakCompareAndSwapSAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI
95719619
ins_pipe(pipe_slow);
95729620
%}
95739621

9622+
// This pattern is generated automatically from cas.m4.
9623+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
95749624
instruct weakCompareAndSwapIAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
95759625
predicate(needs_acquiring_load_exclusive(n));
95769626
match(Set res (WeakCompareAndSwapI mem (Binary oldval newval)));
@@ -9589,6 +9639,8 @@ instruct weakCompareAndSwapIAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI
95899639
ins_pipe(pipe_slow);
95909640
%}
95919641

9642+
// This pattern is generated automatically from cas.m4.
9643+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
95929644
instruct weakCompareAndSwapLAcq(iRegINoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
95939645
predicate(needs_acquiring_load_exclusive(n));
95949646
match(Set res (WeakCompareAndSwapL mem (Binary oldval newval)));
@@ -9607,6 +9659,8 @@ instruct weakCompareAndSwapLAcq(iRegINoSp res, indirect mem, iRegL oldval, iRegL
96079659
ins_pipe(pipe_slow);
96089660
%}
96099661

9662+
// This pattern is generated automatically from cas.m4.
9663+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
96109664
instruct weakCompareAndSwapNAcq(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
96119665
predicate(needs_acquiring_load_exclusive(n));
96129666
match(Set res (WeakCompareAndSwapN mem (Binary oldval newval)));
@@ -9625,9 +9679,11 @@ instruct weakCompareAndSwapNAcq(iRegINoSp res, indirect mem, iRegN oldval, iRegN
96259679
ins_pipe(pipe_slow);
96269680
%}
96279681

9682+
// This pattern is generated automatically from cas.m4.
9683+
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
96289684
instruct weakCompareAndSwapPAcq(iRegINoSp res, indirect mem, iRegP oldval, iRegP newval, rFlagsReg cr) %{
9629-
match(Set res (WeakCompareAndSwapP mem (Binary oldval newval)));
96309685
predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));
9686+
match(Set res (WeakCompareAndSwapP mem (Binary oldval newval)));
96319687
ins_cost(VOLATILE_REF_COST);
96329688
effect(KILL cr);
96339689
format %{

0 commit comments

Comments
 (0)