equal
deleted
inserted
replaced
1749 nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, |
1749 nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, |
1750 const methodHandle& method, |
1750 const methodHandle& method, |
1751 int compile_id, |
1751 int compile_id, |
1752 BasicType* in_sig_bt, |
1752 BasicType* in_sig_bt, |
1753 VMRegPair* in_regs, |
1753 VMRegPair* in_regs, |
1754 BasicType ret_type) { |
1754 BasicType ret_type, |
|
1755 address critical_entry) { |
1755 if (method->is_method_handle_intrinsic()) { |
1756 if (method->is_method_handle_intrinsic()) { |
1756 vmIntrinsics::ID iid = method->intrinsic_id(); |
1757 vmIntrinsics::ID iid = method->intrinsic_id(); |
1757 intptr_t start = (intptr_t)__ pc(); |
1758 intptr_t start = (intptr_t)__ pc(); |
1758 int vep_offset = ((intptr_t)__ pc()) - start; |
1759 int vep_offset = ((intptr_t)__ pc()) - start; |
1759 gen_special_dispatch(masm, |
1760 gen_special_dispatch(masm, |
1772 in_ByteSize(-1), |
1773 in_ByteSize(-1), |
1773 in_ByteSize(-1), |
1774 in_ByteSize(-1), |
1774 (OopMapSet*)NULL); |
1775 (OopMapSet*)NULL); |
1775 } |
1776 } |
1776 bool is_critical_native = true; |
1777 bool is_critical_native = true; |
1777 address native_func = method->critical_native_function(); |
1778 address native_func = critical_entry; |
1778 if (native_func == NULL) { |
1779 if (native_func == NULL) { |
1779 native_func = method->native_function(); |
1780 native_func = method->native_function(); |
1780 is_critical_native = false; |
1781 is_critical_native = false; |
1781 } |
1782 } |
1782 assert(native_func != NULL, "must have function"); |
1783 assert(native_func != NULL, "must have function"); |