Mercurial > hg > graal-compiler
comparison src/cpu/sparc/vm/methodHandles_sparc.cpp @ 7482:989155e2d07a
Merge with hs25-b15.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Wed, 16 Jan 2013 01:34:24 +0100 |
parents | 291ffc492eb6 fd74228fd5ca |
children | cefad50507d8 |
comparison
equal
deleted
inserted
replaced
7381:6761a8f854a4 | 7482:989155e2d07a |
---|---|
169 // the following assumes that a Method* is normally compressed in the vmtarget field: | 169 // the following assumes that a Method* is normally compressed in the vmtarget field: |
170 __ ld_ptr( Address(method_temp, NONZERO(java_lang_invoke_MemberName::vmtarget_offset_in_bytes())), method_temp); | 170 __ ld_ptr( Address(method_temp, NONZERO(java_lang_invoke_MemberName::vmtarget_offset_in_bytes())), method_temp); |
171 | 171 |
172 if (VerifyMethodHandles && !for_compiler_entry) { | 172 if (VerifyMethodHandles && !for_compiler_entry) { |
173 // make sure recv is already on stack | 173 // make sure recv is already on stack |
174 __ load_sized_value(Address(method_temp, Method::size_of_parameters_offset()), | 174 __ ld_ptr(method_temp, in_bytes(Method::const_offset()), temp2); |
175 __ load_sized_value(Address(temp2, ConstMethod::size_of_parameters_offset()), | |
175 temp2, | 176 temp2, |
176 sizeof(u2), /*is_signed*/ false); | 177 sizeof(u2), /*is_signed*/ false); |
177 // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); | 178 // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); |
178 Label L; | 179 Label L; |
179 __ ld_ptr(__ argument_address(temp2, temp2, -1), temp2); | 180 __ ld_ptr(__ argument_address(temp2, temp2, -1), temp2); |
231 // First task: Find out how big the argument list is. | 232 // First task: Find out how big the argument list is. |
232 Address O4_first_arg_addr; | 233 Address O4_first_arg_addr; |
233 int ref_kind = signature_polymorphic_intrinsic_ref_kind(iid); | 234 int ref_kind = signature_polymorphic_intrinsic_ref_kind(iid); |
234 assert(ref_kind != 0 || iid == vmIntrinsics::_invokeBasic, "must be _invokeBasic or a linkTo intrinsic"); | 235 assert(ref_kind != 0 || iid == vmIntrinsics::_invokeBasic, "must be _invokeBasic or a linkTo intrinsic"); |
235 if (ref_kind == 0 || MethodHandles::ref_kind_has_receiver(ref_kind)) { | 236 if (ref_kind == 0 || MethodHandles::ref_kind_has_receiver(ref_kind)) { |
236 __ load_sized_value(Address(G5_method, Method::size_of_parameters_offset()), | 237 __ ld_ptr(G5_method, in_bytes(Method::const_offset()), O4_param_size); |
238 __ load_sized_value(Address(O4_param_size, ConstMethod::size_of_parameters_offset()), | |
237 O4_param_size, | 239 O4_param_size, |
238 sizeof(u2), /*is_signed*/ false); | 240 sizeof(u2), /*is_signed*/ false); |
239 // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); | 241 // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); |
240 O4_first_arg_addr = __ argument_address(O4_param_size, O4_param_size, -1); | 242 O4_first_arg_addr = __ argument_address(O4_param_size, O4_param_size, -1); |
241 } else { | 243 } else { |