< prev index next >
src/hotspot/share/gc/g1/g1Arguments.cpp
Print this page
rev 52814 : 8214773: Replace use of thread unsafe strtok
Reviewed-by:
*** 30,55 ****
#include "gc/g1/g1HeapVerifier.hpp"
#include "gc/g1/heapRegion.hpp"
#include "gc/shared/gcArguments.inline.hpp"
#include "runtime/globals.hpp"
#include "runtime/globals_extension.hpp"
#include "runtime/vm_version.hpp"
size_t G1Arguments::conservative_max_heap_alignment() {
return HeapRegion::max_region_size();
}
void G1Arguments::initialize_verification_types() {
if (strlen(VerifyGCType) > 0) {
const char delimiter[] = " ,\n";
size_t length = strlen(VerifyGCType);
char* type_list = NEW_C_HEAP_ARRAY(char, length + 1, mtInternal);
strncpy(type_list, VerifyGCType, length + 1);
! char* token = strtok(type_list, delimiter);
while (token != NULL) {
parse_verification_type(token);
! token = strtok(NULL, delimiter);
}
FREE_C_HEAP_ARRAY(char, type_list);
}
}
--- 30,57 ----
#include "gc/g1/g1HeapVerifier.hpp"
#include "gc/g1/heapRegion.hpp"
#include "gc/shared/gcArguments.inline.hpp"
#include "runtime/globals.hpp"
#include "runtime/globals_extension.hpp"
+ #include "runtime/os.inline.hpp"
#include "runtime/vm_version.hpp"
size_t G1Arguments::conservative_max_heap_alignment() {
return HeapRegion::max_region_size();
}
void G1Arguments::initialize_verification_types() {
if (strlen(VerifyGCType) > 0) {
const char delimiter[] = " ,\n";
+ char *save_ptr;
size_t length = strlen(VerifyGCType);
char* type_list = NEW_C_HEAP_ARRAY(char, length + 1, mtInternal);
strncpy(type_list, VerifyGCType, length + 1);
! char* token = os::strtok(type_list, delimiter, &save_ptr);
while (token != NULL) {
parse_verification_type(token);
! token = os::strtok(NULL, delimiter, &save_ptr);
}
FREE_C_HEAP_ARRAY(char, type_list);
}
}
< prev index next >