comparison src/cpu/sparc/vm/assembler_sparc.inline.hpp @ 1680:a64438a2b7e8

6958465: Sparc aten build24.0: openjdk-7.ea-b96 failed Error: Formal argument ... requires an lvalue Summary: Fix compilation errors. Made non-const references const so can be assigned with lvalue. Reviewed-by: phh, xlu
author coleenp
date Wed, 28 Jul 2010 17:57:43 -0400
parents c18cbe5936b8
children fff777a71346
comparison
equal deleted inserted replaced
1679:3d90023429ec 1680:a64438a2b7e8
648 #endif 648 #endif
649 return thepc; 649 return thepc;
650 } 650 }
651 651
652 652
653 inline void MacroAssembler::load_contents(AddressLiteral& addrlit, Register d, int offset) { 653 inline void MacroAssembler::load_contents(const AddressLiteral& addrlit, Register d, int offset) {
654 assert_not_delayed(); 654 assert_not_delayed();
655 sethi(addrlit, d); 655 sethi(addrlit, d);
656 ld(d, addrlit.low10() + offset, d); 656 ld(d, addrlit.low10() + offset, d);
657 } 657 }
658 658
659 659
660 inline void MacroAssembler::load_ptr_contents(AddressLiteral& addrlit, Register d, int offset) { 660 inline void MacroAssembler::load_ptr_contents(const AddressLiteral& addrlit, Register d, int offset) {
661 assert_not_delayed(); 661 assert_not_delayed();
662 sethi(addrlit, d); 662 sethi(addrlit, d);
663 ld_ptr(d, addrlit.low10() + offset, d); 663 ld_ptr(d, addrlit.low10() + offset, d);
664 } 664 }
665 665
666 666
667 inline void MacroAssembler::store_contents(Register s, AddressLiteral& addrlit, Register temp, int offset) { 667 inline void MacroAssembler::store_contents(Register s, const AddressLiteral& addrlit, Register temp, int offset) {
668 assert_not_delayed(); 668 assert_not_delayed();
669 sethi(addrlit, temp); 669 sethi(addrlit, temp);
670 st(s, temp, addrlit.low10() + offset); 670 st(s, temp, addrlit.low10() + offset);
671 } 671 }
672 672
673 673
674 inline void MacroAssembler::store_ptr_contents(Register s, AddressLiteral& addrlit, Register temp, int offset) { 674 inline void MacroAssembler::store_ptr_contents(Register s, const AddressLiteral& addrlit, Register temp, int offset) {
675 assert_not_delayed(); 675 assert_not_delayed();
676 sethi(addrlit, temp); 676 sethi(addrlit, temp);
677 st_ptr(s, temp, addrlit.low10() + offset); 677 st_ptr(s, temp, addrlit.low10() + offset);
678 } 678 }
679 679
680 680
681 // This code sequence is relocatable to any address, even on LP64. 681 // This code sequence is relocatable to any address, even on LP64.
682 inline void MacroAssembler::jumpl_to(AddressLiteral& addrlit, Register temp, Register d, int offset) { 682 inline void MacroAssembler::jumpl_to(const AddressLiteral& addrlit, Register temp, Register d, int offset) {
683 assert_not_delayed(); 683 assert_not_delayed();
684 // Force fixed length sethi because NativeJump and NativeFarCall don't handle 684 // Force fixed length sethi because NativeJump and NativeFarCall don't handle
685 // variable length instruction streams. 685 // variable length instruction streams.
686 patchable_sethi(addrlit, temp); 686 patchable_sethi(addrlit, temp);
687 jmpl(temp, addrlit.low10() + offset, d); 687 jmpl(temp, addrlit.low10() + offset, d);
688 } 688 }
689 689
690 690
691 inline void MacroAssembler::jump_to(AddressLiteral& addrlit, Register temp, int offset) { 691 inline void MacroAssembler::jump_to(const AddressLiteral& addrlit, Register temp, int offset) {
692 jumpl_to(addrlit, temp, G0, offset); 692 jumpl_to(addrlit, temp, G0, offset);
693 } 693 }
694 694
695 695
696 inline void MacroAssembler::jump_indirect_to(Address& a, Register temp, 696 inline void MacroAssembler::jump_indirect_to(Address& a, Register temp,