< prev index next >
src/hotspot/share/prims/nativeLookup.cpp
Print this page
@@ -291,14 +291,16 @@
// Compute critical name
char* critical_name = critical_jni_name(method);
// Compute argument size
- int args_size = 1 // JNIEnv
- + (method->is_static() ? 1 : 0) // class for static methods
- + method->size_of_parameters(); // actual parameters
-
+ int args_size = method->size_of_parameters();
+ for (SignatureStream ss(signature); !ss.at_return_type(); ss.next()) {
+ if (ss.is_array()) {
+ args_size += T_INT_size; // array length parameter
+ }
+ }
// 1) Try JNI short style
entry = lookup_critical_style(method, critical_name, "", args_size, true);
if (entry != NULL) return entry;
< prev index next >