hotspot/src/share/vm/runtime/os.cpp
changeset 27880 afb974a04396
parent 27469 34008cfb8994
child 27926 0e2e188ab887
equal deleted inserted replaced
27879:419385282044 27880:afb974a04396
   471     agent_function_name = build_agent_function_name(syms[i], lib_name, agent_lib->is_absolute_path());
   471     agent_function_name = build_agent_function_name(syms[i], lib_name, agent_lib->is_absolute_path());
   472     if (agent_function_name == NULL) {
   472     if (agent_function_name == NULL) {
   473       break;
   473       break;
   474     }
   474     }
   475     entryName = dll_lookup(handle, agent_function_name);
   475     entryName = dll_lookup(handle, agent_function_name);
   476     FREE_C_HEAP_ARRAY(char, agent_function_name, mtThread);
   476     FREE_C_HEAP_ARRAY(char, agent_function_name);
   477     if (entryName != NULL) {
   477     if (entryName != NULL) {
   478       break;
   478       break;
   479     }
   479     }
   480   }
   480   }
   481   return entryName;
   481   return entryName;
   687   return ptr;
   687   return ptr;
   688 #endif
   688 #endif
   689 }
   689 }
   690 
   690 
   691 
   691 
   692 void  os::free(void *memblock, MEMFLAGS memflags) {
   692 void  os::free(void *memblock) {
   693   NOT_PRODUCT(inc_stat_counter(&num_frees, 1));
   693   NOT_PRODUCT(inc_stat_counter(&num_frees, 1));
   694 #ifdef ASSERT
   694 #ifdef ASSERT
   695   if (memblock == NULL) return;
   695   if (memblock == NULL) return;
   696   if ((intptr_t)memblock == (intptr_t)MallocCatchPtr) {
   696   if ((intptr_t)memblock == (intptr_t)MallocCatchPtr) {
   697     if (tty != NULL) tty->print_cr("os::free caught " PTR_FORMAT, memblock);
   697     if (tty != NULL) tty->print_cr("os::free caught " PTR_FORMAT, memblock);
  1209     p += name_len;
  1209     p += name_len;
  1210 
  1210 
  1211     path_len = new_len;
  1211     path_len = new_len;
  1212   }
  1212   }
  1213 
  1213 
  1214   FREE_C_HEAP_ARRAY(char, dbuf, mtInternal);
  1214   FREE_C_HEAP_ARRAY(char, dbuf);
  1215   os::closedir(dir);
  1215   os::closedir(dir);
  1216 
  1216 
  1217   return path;
  1217   return path;
  1218 }
  1218 }
  1219 
  1219 
  1234   // images build if rt.jar exists
  1234   // images build if rt.jar exists
  1235   char* rt_jar = format_boot_path("%/lib/rt.jar", home, home_len, fileSep, pathSep);
  1235   char* rt_jar = format_boot_path("%/lib/rt.jar", home, home_len, fileSep, pathSep);
  1236   if (rt_jar == NULL) return false;
  1236   if (rt_jar == NULL) return false;
  1237   struct stat st;
  1237   struct stat st;
  1238   bool has_rt_jar = (os::stat(rt_jar, &st) == 0);
  1238   bool has_rt_jar = (os::stat(rt_jar, &st) == 0);
  1239   FREE_C_HEAP_ARRAY(char, rt_jar, mtInternal);
  1239   FREE_C_HEAP_ARRAY(char, rt_jar);
  1240 
  1240 
  1241   if (has_rt_jar) {
  1241   if (has_rt_jar) {
  1242     // Any modification to the JAR-file list, for the boot classpath must be
  1242     // Any modification to the JAR-file list, for the boot classpath must be
  1243     // aligned with install/install/make/common/Pack.gmk. Note: boot class
  1243     // aligned with install/install/make/common/Pack.gmk. Note: boot class
  1244     // path class JARs, are stripped for StackMapTable to reduce download size.
  1244     // path class JARs, are stripped for StackMapTable to reduce download size.
  1318     strncpy(s, p, len);
  1318     strncpy(s, p, len);
  1319     s[len] = '\0';
  1319     s[len] = '\0';
  1320     opath[i] = s;
  1320     opath[i] = s;
  1321     p += len + 1;
  1321     p += len + 1;
  1322   }
  1322   }
  1323   FREE_C_HEAP_ARRAY(char, inpath, mtInternal);
  1323   FREE_C_HEAP_ARRAY(char, inpath);
  1324   *n = count;
  1324   *n = count;
  1325   return opath;
  1325   return opath;
  1326 }
  1326 }
  1327 
  1327 
  1328 void os::set_memory_serialize_page(address page) {
  1328 void os::set_memory_serialize_page(address page) {