equal
deleted
inserted
replaced
1522 nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, |
1522 nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm, |
1523 const methodHandle& method, |
1523 const methodHandle& method, |
1524 int compile_id, |
1524 int compile_id, |
1525 BasicType* in_sig_bt, |
1525 BasicType* in_sig_bt, |
1526 VMRegPair* in_regs, |
1526 VMRegPair* in_regs, |
1527 BasicType ret_type) { |
1527 BasicType ret_type, |
|
1528 address critical_entry) { |
1528 if (method->is_method_handle_intrinsic()) { |
1529 if (method->is_method_handle_intrinsic()) { |
1529 vmIntrinsics::ID iid = method->intrinsic_id(); |
1530 vmIntrinsics::ID iid = method->intrinsic_id(); |
1530 intptr_t start = (intptr_t)__ pc(); |
1531 intptr_t start = (intptr_t)__ pc(); |
1531 int vep_offset = ((intptr_t)__ pc()) - start; |
1532 int vep_offset = ((intptr_t)__ pc()) - start; |
1532 gen_special_dispatch(masm, |
1533 gen_special_dispatch(masm, |
1545 in_ByteSize(-1), |
1546 in_ByteSize(-1), |
1546 in_ByteSize(-1), |
1547 in_ByteSize(-1), |
1547 (OopMapSet*)NULL); |
1548 (OopMapSet*)NULL); |
1548 } |
1549 } |
1549 bool is_critical_native = true; |
1550 bool is_critical_native = true; |
1550 address native_func = method->critical_native_function(); |
1551 address native_func = critical_entry; |
1551 if (native_func == NULL) { |
1552 if (native_func == NULL) { |
1552 native_func = method->native_function(); |
1553 native_func = method->native_function(); |
1553 is_critical_native = false; |
1554 is_critical_native = false; |
1554 } |
1555 } |
1555 assert(native_func != NULL, "must have function"); |
1556 assert(native_func != NULL, "must have function"); |