2177 // Pre-load a static method's oop into r14. Used both by locking code and |
2177 // Pre-load a static method's oop into r14. Used both by locking code and |
2178 // the normal JNI call code. |
2178 // the normal JNI call code. |
2179 if (method->is_static() && !is_critical_native) { |
2179 if (method->is_static() && !is_critical_native) { |
2180 |
2180 |
2181 // load oop into a register |
2181 // load oop into a register |
2182 __ movoop(oop_handle_reg, JNIHandles::make_local(Klass::cast(method->method_holder())->java_mirror())); |
2182 __ movoop(oop_handle_reg, JNIHandles::make_local(method->method_holder()->java_mirror())); |
2183 |
2183 |
2184 // Now handlize the static class mirror it's known not-null. |
2184 // Now handlize the static class mirror it's known not-null. |
2185 __ movptr(Address(rsp, klass_offset), oop_handle_reg); |
2185 __ movptr(Address(rsp, klass_offset), oop_handle_reg); |
2186 map->set_oop(VMRegImpl::stack2reg(klass_slot_offset)); |
2186 map->set_oop(VMRegImpl::stack2reg(klass_slot_offset)); |
2187 |
2187 |