src/cpu/sparc/vm/methodHandles_sparc.cpp

Print this page

        

*** 168,178 **** // the following assumes that a Method* is normally compressed in the vmtarget field: __ ld_ptr( Address(method_temp, NONZERO(java_lang_invoke_MemberName::vmtarget_offset_in_bytes())), method_temp); if (VerifyMethodHandles && !for_compiler_entry) { // make sure recv is already on stack ! __ load_sized_value(Address(method_temp, Method::size_of_parameters_offset()), temp2, sizeof(u2), /*is_signed*/ false); // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); Label L; __ ld_ptr(__ argument_address(temp2, temp2, -1), temp2); --- 168,179 ---- // the following assumes that a Method* is normally compressed in the vmtarget field: __ ld_ptr( Address(method_temp, NONZERO(java_lang_invoke_MemberName::vmtarget_offset_in_bytes())), method_temp); if (VerifyMethodHandles && !for_compiler_entry) { // make sure recv is already on stack ! __ ld_ptr(method_temp, in_bytes(Method::const_offset()), temp2); ! __ load_sized_value(Address(temp2, ConstMethod::size_of_parameters_offset()), temp2, sizeof(u2), /*is_signed*/ false); // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); Label L; __ ld_ptr(__ argument_address(temp2, temp2, -1), temp2);
*** 230,240 **** // First task: Find out how big the argument list is. Address O4_first_arg_addr; int ref_kind = signature_polymorphic_intrinsic_ref_kind(iid); assert(ref_kind != 0 || iid == vmIntrinsics::_invokeBasic, "must be _invokeBasic or a linkTo intrinsic"); if (ref_kind == 0 || MethodHandles::ref_kind_has_receiver(ref_kind)) { ! __ load_sized_value(Address(G5_method, Method::size_of_parameters_offset()), O4_param_size, sizeof(u2), /*is_signed*/ false); // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); O4_first_arg_addr = __ argument_address(O4_param_size, O4_param_size, -1); } else { --- 231,242 ---- // First task: Find out how big the argument list is. Address O4_first_arg_addr; int ref_kind = signature_polymorphic_intrinsic_ref_kind(iid); assert(ref_kind != 0 || iid == vmIntrinsics::_invokeBasic, "must be _invokeBasic or a linkTo intrinsic"); if (ref_kind == 0 || MethodHandles::ref_kind_has_receiver(ref_kind)) { ! __ ld_ptr(G5_method, in_bytes(Method::const_offset()), O4_param_size); ! __ load_sized_value(Address(O4_param_size, ConstMethod::size_of_parameters_offset()), O4_param_size, sizeof(u2), /*is_signed*/ false); // assert(sizeof(u2) == sizeof(Method::_size_of_parameters), ""); O4_first_arg_addr = __ argument_address(O4_param_size, O4_param_size, -1); } else {