equal
deleted
inserted
replaced
291 |
291 |
292 // Compute critical name |
292 // Compute critical name |
293 char* critical_name = critical_jni_name(method); |
293 char* critical_name = critical_jni_name(method); |
294 |
294 |
295 // Compute argument size |
295 // Compute argument size |
296 int args_size = 1 // JNIEnv |
296 int args_size = method->size_of_parameters(); |
297 + (method->is_static() ? 1 : 0) // class for static methods |
297 for (SignatureStream ss(signature); !ss.at_return_type(); ss.next()) { |
298 + method->size_of_parameters(); // actual parameters |
298 if (ss.is_array()) { |
299 |
299 args_size += T_INT_size; // array length parameter |
|
300 } |
|
301 } |
300 |
302 |
301 // 1) Try JNI short style |
303 // 1) Try JNI short style |
302 entry = lookup_critical_style(method, critical_name, "", args_size, true); |
304 entry = lookup_critical_style(method, critical_name, "", args_size, true); |
303 if (entry != NULL) return entry; |
305 if (entry != NULL) return entry; |
304 |
306 |