< prev index next >
src/share/vm/classfile/symbolTable.cpp
Print this page
*** 262,272 ****
char* buffer;
int index, len;
unsigned int hashValue;
char* name;
{
! debug_only(No_Safepoint_Verifier nsv;)
name = (char*)sym->base() + begin;
len = end - begin;
hashValue = hash_symbol(name, len);
index = the_table()->hash_to_index(hashValue);
--- 262,272 ----
char* buffer;
int index, len;
unsigned int hashValue;
char* name;
{
! debug_only(NoSafepointVerifier nsv;)
name = (char*)sym->base() + begin;
len = end - begin;
hashValue = hash_symbol(name, len);
index = the_table()->hash_to_index(hashValue);
*** 286,296 ****
}
for (int i=0; i<len; i++) {
buffer[i] = name[i];
}
// Make sure there is no safepoint in the code above since name can't move.
! // We can't include the code in No_Safepoint_Verifier because of the
// ResourceMark.
// Grab SymbolTable_lock first.
MutexLocker ml(SymbolTable_lock, THREAD);
--- 286,296 ----
}
for (int i=0; i<len; i++) {
buffer[i] = name[i];
}
// Make sure there is no safepoint in the code above since name can't move.
! // We can't include the code in NoSafepointVerifier because of the
// ResourceMark.
// Grab SymbolTable_lock first.
MutexLocker ml(SymbolTable_lock, THREAD);
*** 403,413 ****
THROW_MSG_0(vmSymbols::java_lang_InternalError(),
"name is too long to represent");
}
// Cannot hit a safepoint in this function because the "this" pointer can move.
! No_Safepoint_Verifier nsv;
// Check if the symbol table has been rehashed, if so, need to recalculate
// the hash value and index.
unsigned int hashValue;
int index;
--- 403,413 ----
THROW_MSG_0(vmSymbols::java_lang_InternalError(),
"name is too long to represent");
}
// Cannot hit a safepoint in this function because the "this" pointer can move.
! NoSafepointVerifier nsv;
// Check if the symbol table has been rehashed, if so, need to recalculate
// the hash value and index.
unsigned int hashValue;
int index;
*** 452,462 ****
"name is too long to represent");
}
}
// Cannot hit a safepoint in this function because the "this" pointer can move.
! No_Safepoint_Verifier nsv;
for (int i=0; i<names_count; i++) {
// Check if the symbol table has been rehashed, if so, need to recalculate
// the hash value.
unsigned int hashValue;
--- 452,462 ----
"name is too long to represent");
}
}
// Cannot hit a safepoint in this function because the "this" pointer can move.
! NoSafepointVerifier nsv;
for (int i=0; i<names_count; i++) {
// Check if the symbol table has been rehashed, if so, need to recalculate
// the hash value.
unsigned int hashValue;
< prev index next >