comparison src/cpu/ppc/vm/assembler_ppc.hpp @ 14726:92aa6797d639

Backed out merge changeset: b51e29501f30 Backed out merge revision to its first parent (8f483e200405)
author Doug Simon <doug.simon@oracle.com>
date Mon, 24 Mar 2014 21:30:43 +0100
parents e5e8aa897002
children
comparison
equal deleted inserted replaced
14719:0bdd0d157040 14726:92aa6797d639
122 assert(is_register(), "must be a register argument"); 122 assert(is_register(), "must be a register argument");
123 return as_Register(number() + R3_ARG1->encoding()); 123 return as_Register(number() + R3_ARG1->encoding());
124 } 124 }
125 }; 125 };
126 126
127 #if !defined(ABI_ELFv2)
128 // A ppc64 function descriptor. 127 // A ppc64 function descriptor.
129 struct FunctionDescriptor VALUE_OBJ_CLASS_SPEC { 128 struct FunctionDescriptor VALUE_OBJ_CLASS_SPEC {
130 private: 129 private:
131 address _entry; 130 address _entry;
132 address _toc; 131 address _toc;
160 _entry = (address) 0xbad; 159 _entry = (address) 0xbad;
161 _toc = (address) 0xbad; 160 _toc = (address) 0xbad;
162 _env = (address) 0xbad; 161 _env = (address) 0xbad;
163 } 162 }
164 }; 163 };
165 #endif
166 164
167 class Assembler : public AbstractAssembler { 165 class Assembler : public AbstractAssembler {
168 protected: 166 protected:
169 // Displacement routines 167 // Displacement routines
170 static void print_instruction(int inst); 168 static void print_instruction(int inst);
1067 inline void emit_data(int, relocInfo::relocType rtype); 1065 inline void emit_data(int, relocInfo::relocType rtype);
1068 1066
1069 // Emit an address. 1067 // Emit an address.
1070 inline address emit_addr(const address addr = NULL); 1068 inline address emit_addr(const address addr = NULL);
1071 1069
1072 #if !defined(ABI_ELFv2)
1073 // Emit a function descriptor with the specified entry point, TOC, 1070 // Emit a function descriptor with the specified entry point, TOC,
1074 // and ENV. If the entry point is NULL, the descriptor will point 1071 // and ENV. If the entry point is NULL, the descriptor will point
1075 // just past the descriptor. 1072 // just past the descriptor.
1076 // Use values from friend functions as defaults. 1073 // Use values from friend functions as defaults.
1077 inline address emit_fd(address entry = NULL, 1074 inline address emit_fd(address entry = NULL,
1078 address toc = (address) FunctionDescriptor::friend_toc, 1075 address toc = (address) FunctionDescriptor::friend_toc,
1079 address env = (address) FunctionDescriptor::friend_env); 1076 address env = (address) FunctionDescriptor::friend_env);
1080 #endif
1081 1077
1082 ///////////////////////////////////////////////////////////////////////////////////// 1078 /////////////////////////////////////////////////////////////////////////////////////
1083 // PPC instructions 1079 // PPC instructions
1084 ///////////////////////////////////////////////////////////////////////////////////// 1080 /////////////////////////////////////////////////////////////////////////////////////
1085 1081