Mercurial > hg > truffle
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, |