src/hotspot/share/prims/nativeLookup.cpp
changeset 47782 d099408b386e
parent 47216 71c04702a3d5
child 48302 50181ff45d46
equal deleted inserted replaced
47780:895da9d2087b 47782:d099408b386e
   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