@@ -497,7 +497,7 @@ void reg_mask_init() {
497497
498498 // _ALL_REG_mask is generated by adlc from the all_reg register class below.
499499 // We derive a number of subsets from it.
500- _ANY_REG_mask = _ALL_REG_mask;
500+ _ANY_REG_mask.assignFrom( _ALL_REG_mask) ;
501501
502502 if (PreserveFramePointer) {
503503 _ANY_REG_mask.remove(OptoReg::as_OptoReg(rbp->as_VMReg()));
@@ -508,7 +508,7 @@ void reg_mask_init() {
508508 _ANY_REG_mask.remove(OptoReg::as_OptoReg(r12->as_VMReg()->next()));
509509 }
510510
511- _PTR_REG_mask = _ANY_REG_mask;
511+ _PTR_REG_mask.assignFrom( _ANY_REG_mask) ;
512512 _PTR_REG_mask.remove(OptoReg::as_OptoReg(rsp->as_VMReg()));
513513 _PTR_REG_mask.remove(OptoReg::as_OptoReg(rsp->as_VMReg()->next()));
514514 _PTR_REG_mask.remove(OptoReg::as_OptoReg(r15->as_VMReg()));
@@ -520,43 +520,43 @@ void reg_mask_init() {
520520 }
521521 }
522522
523- _STACK_OR_PTR_REG_mask = _PTR_REG_mask;
523+ _STACK_OR_PTR_REG_mask.assignFrom( _PTR_REG_mask) ;
524524 _STACK_OR_PTR_REG_mask.or_with(STACK_OR_STACK_SLOTS_mask());
525525
526- _PTR_REG_NO_RBP_mask = _PTR_REG_mask;
526+ _PTR_REG_NO_RBP_mask.assignFrom( _PTR_REG_mask) ;
527527 _PTR_REG_NO_RBP_mask.remove(OptoReg::as_OptoReg(rbp->as_VMReg()));
528528 _PTR_REG_NO_RBP_mask.remove(OptoReg::as_OptoReg(rbp->as_VMReg()->next()));
529529
530- _PTR_NO_RAX_REG_mask = _PTR_REG_mask;
530+ _PTR_NO_RAX_REG_mask.assignFrom( _PTR_REG_mask) ;
531531 _PTR_NO_RAX_REG_mask.remove(OptoReg::as_OptoReg(rax->as_VMReg()));
532532 _PTR_NO_RAX_REG_mask.remove(OptoReg::as_OptoReg(rax->as_VMReg()->next()));
533533
534- _PTR_NO_RAX_RBX_REG_mask = _PTR_NO_RAX_REG_mask;
534+ _PTR_NO_RAX_RBX_REG_mask.assignFrom( _PTR_NO_RAX_REG_mask) ;
535535 _PTR_NO_RAX_RBX_REG_mask.remove(OptoReg::as_OptoReg(rbx->as_VMReg()));
536536 _PTR_NO_RAX_RBX_REG_mask.remove(OptoReg::as_OptoReg(rbx->as_VMReg()->next()));
537537
538538
539- _LONG_REG_mask = _PTR_REG_mask;
540- _STACK_OR_LONG_REG_mask = _LONG_REG_mask;
539+ _LONG_REG_mask.assignFrom( _PTR_REG_mask) ;
540+ _STACK_OR_LONG_REG_mask.assignFrom( _LONG_REG_mask) ;
541541 _STACK_OR_LONG_REG_mask.or_with(STACK_OR_STACK_SLOTS_mask());
542542
543- _LONG_NO_RAX_RDX_REG_mask = _LONG_REG_mask;
543+ _LONG_NO_RAX_RDX_REG_mask.assignFrom( _LONG_REG_mask) ;
544544 _LONG_NO_RAX_RDX_REG_mask.remove(OptoReg::as_OptoReg(rax->as_VMReg()));
545545 _LONG_NO_RAX_RDX_REG_mask.remove(OptoReg::as_OptoReg(rax->as_VMReg()->next()));
546546 _LONG_NO_RAX_RDX_REG_mask.remove(OptoReg::as_OptoReg(rdx->as_VMReg()));
547547 _LONG_NO_RAX_RDX_REG_mask.remove(OptoReg::as_OptoReg(rdx->as_VMReg()->next()));
548548
549- _LONG_NO_RCX_REG_mask = _LONG_REG_mask;
549+ _LONG_NO_RCX_REG_mask.assignFrom( _LONG_REG_mask) ;
550550 _LONG_NO_RCX_REG_mask.remove(OptoReg::as_OptoReg(rcx->as_VMReg()));
551551 _LONG_NO_RCX_REG_mask.remove(OptoReg::as_OptoReg(rcx->as_VMReg()->next()));
552552
553- _LONG_NO_RBP_R13_REG_mask = _LONG_REG_mask;
553+ _LONG_NO_RBP_R13_REG_mask.assignFrom( _LONG_REG_mask) ;
554554 _LONG_NO_RBP_R13_REG_mask.remove(OptoReg::as_OptoReg(rbp->as_VMReg()));
555555 _LONG_NO_RBP_R13_REG_mask.remove(OptoReg::as_OptoReg(rbp->as_VMReg()->next()));
556556 _LONG_NO_RBP_R13_REG_mask.remove(OptoReg::as_OptoReg(r13->as_VMReg()));
557557 _LONG_NO_RBP_R13_REG_mask.remove(OptoReg::as_OptoReg(r13->as_VMReg()->next()));
558558
559- _INT_REG_mask = _ALL_INT_REG_mask;
559+ _INT_REG_mask.assignFrom( _ALL_INT_REG_mask) ;
560560 if (!UseAPX) {
561561 for (uint i = 0; i < sizeof(egprs)/sizeof(Register); i++) {
562562 _INT_REG_mask.remove(OptoReg::as_OptoReg(egprs[i]->as_VMReg()));
@@ -570,23 +570,23 @@ void reg_mask_init() {
570570 _INT_REG_mask.remove(OptoReg::as_OptoReg(r12->as_VMReg()));
571571 }
572572
573- _STACK_OR_INT_REG_mask = _INT_REG_mask;
573+ _STACK_OR_INT_REG_mask.assignFrom( _INT_REG_mask) ;
574574 _STACK_OR_INT_REG_mask.or_with(STACK_OR_STACK_SLOTS_mask());
575575
576- _INT_NO_RAX_RDX_REG_mask = _INT_REG_mask;
576+ _INT_NO_RAX_RDX_REG_mask.assignFrom( _INT_REG_mask) ;
577577 _INT_NO_RAX_RDX_REG_mask.remove(OptoReg::as_OptoReg(rax->as_VMReg()));
578578 _INT_NO_RAX_RDX_REG_mask.remove(OptoReg::as_OptoReg(rdx->as_VMReg()));
579579
580- _INT_NO_RCX_REG_mask = _INT_REG_mask;
580+ _INT_NO_RCX_REG_mask.assignFrom( _INT_REG_mask) ;
581581 _INT_NO_RCX_REG_mask.remove(OptoReg::as_OptoReg(rcx->as_VMReg()));
582582
583- _INT_NO_RBP_R13_REG_mask = _INT_REG_mask;
583+ _INT_NO_RBP_R13_REG_mask.assignFrom( _INT_REG_mask) ;
584584 _INT_NO_RBP_R13_REG_mask.remove(OptoReg::as_OptoReg(rbp->as_VMReg()));
585585 _INT_NO_RBP_R13_REG_mask.remove(OptoReg::as_OptoReg(r13->as_VMReg()));
586586
587587 // _FLOAT_REG_LEGACY_mask/_FLOAT_REG_EVEX_mask is generated by adlc
588588 // from the float_reg_legacy/float_reg_evex register class.
589- _FLOAT_REG_mask = VM_Version::supports_evex() ? _FLOAT_REG_EVEX_mask : _FLOAT_REG_LEGACY_mask;
589+ _FLOAT_REG_mask.assignFrom( VM_Version::supports_evex() ? _FLOAT_REG_EVEX_mask : _FLOAT_REG_LEGACY_mask) ;
590590}
591591
592592static bool generate_vzeroupper(Compile* C) {
@@ -1678,22 +1678,22 @@ bool Matcher::use_asm_for_ldiv_by_con( jlong divisor ) {
16781678}
16791679
16801680// Register for DIVI projection of divmodI
1681- RegMask Matcher::divI_proj_mask() {
1681+ const RegMask& Matcher::divI_proj_mask() {
16821682 return INT_RAX_REG_mask();
16831683}
16841684
16851685// Register for MODI projection of divmodI
1686- RegMask Matcher::modI_proj_mask() {
1686+ const RegMask& Matcher::modI_proj_mask() {
16871687 return INT_RDX_REG_mask();
16881688}
16891689
16901690// Register for DIVL projection of divmodL
1691- RegMask Matcher::divL_proj_mask() {
1691+ const RegMask& Matcher::divL_proj_mask() {
16921692 return LONG_RAX_REG_mask();
16931693}
16941694
16951695// Register for MODL projection of divmodL
1696- RegMask Matcher::modL_proj_mask() {
1696+ const RegMask& Matcher::modL_proj_mask() {
16971697 return LONG_RDX_REG_mask();
16981698}
16991699
0 commit comments