src/cpu/ppc/vm/interpreterRT_ppc.cpp

changeset 6511
31e80afe3fed
parent 6458
ec28f9c041ff
child 6660
63c5920a038d
equal deleted inserted replaced
6510:7c462558a08a 6511:31e80afe3fed
107 __ std(r, sp_c_arg_at(jni_arg.number())); 107 __ std(r, sp_c_arg_at(jni_arg.number()));
108 } 108 }
109 } 109 }
110 110
111 void InterpreterRuntime::SignatureHandlerGenerator::generate(uint64_t fingerprint) { 111 void InterpreterRuntime::SignatureHandlerGenerator::generate(uint64_t fingerprint) {
112 #if !defined(ABI_ELFv2)
112 // Emit fd for current codebuffer. Needs patching! 113 // Emit fd for current codebuffer. Needs patching!
113 __ emit_fd(); 114 __ emit_fd();
115 #endif
114 116
115 // Generate code to handle arguments. 117 // Generate code to handle arguments.
116 iterate(fingerprint); 118 iterate(fingerprint);
117 119
118 // Return the result handler. 120 // Return the result handler.
125 #undef __ 127 #undef __
126 128
127 // Implementation of SignatureHandlerLibrary 129 // Implementation of SignatureHandlerLibrary
128 130
129 void SignatureHandlerLibrary::pd_set_handler(address handler) { 131 void SignatureHandlerLibrary::pd_set_handler(address handler) {
132 #if !defined(ABI_ELFv2)
130 // patch fd here. 133 // patch fd here.
131 FunctionDescriptor* fd = (FunctionDescriptor*) handler; 134 FunctionDescriptor* fd = (FunctionDescriptor*) handler;
132 135
133 fd->set_entry(handler + (int)sizeof(FunctionDescriptor)); 136 fd->set_entry(handler + (int)sizeof(FunctionDescriptor));
134 assert(fd->toc() == (address)0xcafe, "need to adjust TOC here"); 137 assert(fd->toc() == (address)0xcafe, "need to adjust TOC here");
138 #endif
135 } 139 }
136 140
137 141
138 // Access function to get the signature. 142 // Access function to get the signature.
139 IRT_ENTRY(address, InterpreterRuntime::get_signature(JavaThread* thread, Method* method)) 143 IRT_ENTRY(address, InterpreterRuntime::get_signature(JavaThread* thread, Method* method))

mercurial