Skip to content

Commit 3f9c8a3

Browse files
committed
8254966: Remove unused code from Matcher
Reviewed-by: neliasso, kvn
1 parent 21e67e5 commit 3f9c8a3

File tree

11 files changed

+14
-272
lines changed

11 files changed

+14
-272
lines changed

src/hotspot/cpu/aarch64/aarch64.ad

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -614,9 +614,7 @@ alloc_class chunk3(RFLAGS);
614614
// Several register classes are automatically defined based upon information in
615615
// this architecture description.
616616
// 1) reg_class inline_cache_reg ( /* as def'd in frame section */ )
617-
// 2) reg_class compiler_method_reg ( /* as def'd in frame section */ )
618-
// 2) reg_class interpreter_method_reg ( /* as def'd in frame section */ )
619-
// 3) reg_class stack_slots( /* one chunk of stack-based "registers" */ )
617+
// 2) reg_class stack_slots( /* one chunk of stack-based "registers" */ )
620618
//
621619

622620
// Class for all 32 bit general purpose registers
@@ -2608,11 +2606,6 @@ const bool Matcher::rematerialize_float_constants = false;
26082606
// C code as the Java calling convention forces doubles to be aligned.
26092607
const bool Matcher::misaligned_doubles_ok = true;
26102608

2611-
// No-op on amd64
2612-
void Matcher::pd_implicit_null_fixup(MachNode *node, uint idx) {
2613-
Unimplemented();
2614-
}
2615-
26162609
// Advertise here if the CPU requires explicit rounding operations to implement strictfp mode.
26172610
const bool Matcher::strict_fp_requires_explicit_rounding = false;
26182611

@@ -4090,9 +4083,6 @@ frame %{
40904083
// Inline Cache Register or Method for I2C.
40914084
inline_cache_reg(R12);
40924085

4093-
// Method Register when calling interpreter.
4094-
interpreter_method_reg(R12);
4095-
40964086
// Number of stack slots consumed by locking an object
40974087
sync_stack_slots(2);
40984088

@@ -5680,16 +5670,6 @@ operand inline_cache_RegP(iRegP reg)
56805670
interface(REG_INTER);
56815671
%}
56825672

5683-
operand interpreter_method_RegP(iRegP reg)
5684-
%{
5685-
constraint(ALLOC_IN_RC(method_reg)); // interpreter_method_reg
5686-
match(reg);
5687-
match(iRegPNoSp);
5688-
op_cost(0);
5689-
format %{ %}
5690-
interface(REG_INTER);
5691-
%}
5692-
56935673
// Thread Register
56945674
operand thread_RegP(iRegP reg)
56955675
%{

src/hotspot/cpu/arm/arm.ad

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,10 +1159,6 @@ const bool Matcher::rematerialize_float_constants = false;
11591159
// Java calling convention forces doubles to be aligned.
11601160
const bool Matcher::misaligned_doubles_ok = false;
11611161

1162-
// No-op on ARM.
1163-
void Matcher::pd_implicit_null_fixup(MachNode *node, uint idx) {
1164-
}
1165-
11661162
// Advertise here if the CPU requires explicit rounding operations to implement strictfp mode.
11671163
const bool Matcher::strict_fp_requires_explicit_rounding = false;
11681164

@@ -1667,7 +1663,6 @@ frame %{
16671663
// These two registers define part of the calling convention
16681664
// between compiled code and the interpreter.
16691665
inline_cache_reg(R_Ricklass); // Inline Cache Register or Method* for I2C
1670-
interpreter_method_reg(R_Rmethod); // Method Register when calling interpreter
16711666

16721667
// Optional: name the operand used by cisc-spilling to access [stack_pointer + offset]
16731668
cisc_spilling_operand_name(indOffset);
@@ -2527,14 +2522,6 @@ operand inline_cache_regP(iRegP reg) %{
25272522
interface(REG_INTER);
25282523
%}
25292524

2530-
operand interpreter_method_regP(iRegP reg) %{
2531-
constraint(ALLOC_IN_RC(Rmethod_regP));
2532-
match(reg);
2533-
format %{ %}
2534-
interface(REG_INTER);
2535-
%}
2536-
2537-
25382525
//----------Complex Operands---------------------------------------------------
25392526
// Indirect Memory Reference
25402527
operand indirect(sp_ptr_RegP reg) %{

src/hotspot/cpu/arm/arm_32.ad

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,11 @@ alloc_class chunk0(
182182
alloc_class chunk1(
183183
R_S16, R_S17, R_S18, R_S19, R_S20, R_S21, R_S22, R_S23,
184184
R_S24, R_S25, R_S26, R_S27, R_S28, R_S29, R_S30, R_S31,
185-
R_S0, R_S1, R_S2, R_S3, R_S4, R_S5, R_S6, R_S7,
185+
R_S0, R_S1, R_S2, R_S3, R_S4, R_S5, R_S6, R_S7,
186186
R_S8, R_S9, R_S10, R_S11, R_S12, R_S13, R_S14, R_S15,
187-
R_D16, R_D16x,R_D17, R_D17x,R_D18, R_D18x,R_D19, R_D19x,
188-
R_D20, R_D20x,R_D21, R_D21x,R_D22, R_D22x,R_D23, R_D23x,
189-
R_D24, R_D24x,R_D25, R_D25x,R_D26, R_D26x,R_D27, R_D27x,
187+
R_D16, R_D16x,R_D17, R_D17x,R_D18, R_D18x,R_D19, R_D19x,
188+
R_D20, R_D20x,R_D21, R_D21x,R_D22, R_D22x,R_D23, R_D23x,
189+
R_D24, R_D24x,R_D25, R_D25x,R_D26, R_D26x,R_D27, R_D27x,
190190
R_D28, R_D28x,R_D29, R_D29x,R_D30, R_D30x,R_D31, R_D31x
191191
);
192192

@@ -196,8 +196,7 @@ alloc_class chunk2(APSR, FPSCR);
196196
// Several register classes are automatically defined based upon information in
197197
// this architecture description.
198198
// 1) reg_class inline_cache_reg ( as defined in frame section )
199-
// 2) reg_class interpreter_method_reg ( as defined in frame section )
200-
// 3) reg_class stack_slots( /* one chunk of stack-based "registers" */ )
199+
// 2) reg_class stack_slots( /* one chunk of stack-based "registers" */ )
201200
//
202201

203202
// ----------------------------
@@ -223,7 +222,6 @@ reg_class ptr_reg(R_R0, R_R1, R_R2, R_R3, R_R4, R_R5, R_R6, R_R7, R_R8, R_R9, R_
223222
reg_class sp_ptr_reg(R_R0, R_R1, R_R2, R_R3, R_R4, R_R5, R_R6, R_R7, R_R8, R_R9, R_R11, R_R12, R_R14, R_R10 /* TLS*/, R_R13 /* SP*/);
224223

225224
#define R_Ricklass R_R8
226-
#define R_Rmethod R_R9
227225
#define R_Rthread R_R10
228226
#define R_Rexception_obj R_R4
229227

@@ -237,7 +235,6 @@ reg_class R9_regP(R_R9);
237235
reg_class R12_regP(R_R12);
238236
reg_class Rexception_regP(R_Rexception_obj);
239237
reg_class Ricklass_regP(R_Ricklass);
240-
reg_class Rmethod_regP(R_Rmethod);
241238
reg_class Rthread_regP(R_Rthread);
242239
reg_class IP_regP(R_R12);
243240
reg_class SP_regP(R_R13);
@@ -442,7 +439,7 @@ int MachCallStaticJavaNode::ret_addr_offset() {
442439
int MachCallDynamicJavaNode::ret_addr_offset() {
443440
bool far = !cache_reachable();
444441
// mov_oop is always 2 words
445-
return (2 + (far ? 3 : 1)) * NativeInstruction::instruction_size;
442+
return (2 + (far ? 3 : 1)) * NativeInstruction::instruction_size;
446443
}
447444

448445
int MachCallRuntimeNode::ret_addr_offset() {

src/hotspot/cpu/ppc/ppc.ad

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -535,9 +535,7 @@ alloc_class chunk4 (
535535
// information in this architecture description.
536536

537537
// 1) reg_class inline_cache_reg ( as defined in frame section )
538-
// 2) reg_class compiler_method_reg ( as defined in frame section )
539-
// 2) reg_class interpreter_method_reg ( as defined in frame section )
540-
// 3) reg_class stack_slots( /* one chunk of stack-based "registers" */ )
538+
// 2) reg_class stack_slots( /* one chunk of stack-based "registers" */ )
541539
//
542540

543541
// ----------------------------
@@ -2344,10 +2342,6 @@ const bool Matcher::rematerialize_float_constants = false;
23442342
// Java calling convention forces doubles to be aligned.
23452343
const bool Matcher::misaligned_doubles_ok = true;
23462344

2347-
void Matcher::pd_implicit_null_fixup(MachNode *node, uint idx) {
2348-
Unimplemented();
2349-
}
2350-
23512345
// Advertise here if the CPU requires explicit rounding operations to implement strictfp mode.
23522346
const bool Matcher::strict_fp_requires_explicit_rounding = false;
23532347

@@ -3859,9 +3853,6 @@ frame %{
38593853
// Inline Cache Register or method for I2C.
38603854
inline_cache_reg(R19); // R19_method
38613855

3862-
// Method Register when calling interpreter.
3863-
interpreter_method_reg(R19); // R19_method
3864-
38653856
// Optional: name the operand used by cisc-spilling to access
38663857
// [stack_pointer + offset].
38673858
cisc_spilling_operand_name(indOffset);
@@ -4769,20 +4760,6 @@ operand inline_cache_regP(iRegPdst reg) %{
47694760
interface(REG_INTER);
47704761
%}
47714762

4772-
operand compiler_method_regP(iRegPdst reg) %{
4773-
constraint(ALLOC_IN_RC(rscratch1_bits64_reg)); // compiler_method_reg
4774-
match(reg);
4775-
format %{ %}
4776-
interface(REG_INTER);
4777-
%}
4778-
4779-
operand interpreter_method_regP(iRegPdst reg) %{
4780-
constraint(ALLOC_IN_RC(r19_bits64_reg)); // interpreter_method_reg
4781-
match(reg);
4782-
format %{ %}
4783-
interface(REG_INTER);
4784-
%}
4785-
47864763
// Operands to remove register moves in unscaled mode.
47874764
// Match read/write registers with an EncodeP node if neither shift nor add are required.
47884765
operand iRegP2N(iRegPsrc reg) %{

src/hotspot/cpu/s390/s390.ad

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -278,9 +278,7 @@ alloc_class chunk2(
278278
// information in this architecture description.
279279

280280
// 1) reg_class inline_cache_reg (as defined in frame section)
281-
// 2) reg_class compiler_method_reg (as defined in frame section)
282-
// 2) reg_class interpreter_method_reg (as defined in frame section)
283-
// 3) reg_class stack_slots(/* one chunk of stack-based "registers" */)
281+
// 2) reg_class stack_slots(/* one chunk of stack-based "registers" */)
284282

285283
// Integer Register Classes
286284
reg_class z_int_reg(
@@ -2466,12 +2464,6 @@ frame %{
24662464
// Tos is loaded in run_compiled_code to Z_ARG5=Z_R6.
24672465
// interpreter_arg_ptr_reg(Z_R6);
24682466

2469-
// Temporary in compiled entry-points
2470-
// compiler_method_reg(Z_R1);//Z_R1_scratch
2471-
2472-
// Method Register when calling interpreter
2473-
interpreter_method_reg(Z_R9);//Z_method
2474-
24752467
// Optional: name the operand used by cisc-spilling to access
24762468
// [stack_pointer + offset].
24772469
cisc_spilling_operand_name(indOffset12);
@@ -3535,20 +3527,6 @@ operand inline_cache_regP(iRegP reg) %{
35353527
interface(REG_INTER);
35363528
%}
35373529

3538-
operand compiler_method_regP(iRegP reg) %{
3539-
constraint(ALLOC_IN_RC(z_r1_RegP)); // compiler_method_reg
3540-
match(reg);
3541-
format %{ %}
3542-
interface(REG_INTER);
3543-
%}
3544-
3545-
operand interpreter_method_regP(iRegP reg) %{
3546-
constraint(ALLOC_IN_RC(z_r9_regP)); // interpreter_method_reg
3547-
match(reg);
3548-
format %{ %}
3549-
interface(REG_INTER);
3550-
%}
3551-
35523530
// Operands to remove register moves in unscaled mode.
35533531
// Match read/write registers with an EncodeP node if neither shift nor add are required.
35543532
operand iRegP2N(iRegP reg) %{

0 commit comments

Comments
 (0)