8200131: Improve lazy init of InetAddress.canonicalHostName and NativeObject.pageSize

Reviewed-by: alanb
This commit is contained in:
Martin Buchholz 2018-04-05 09:37:19 -07:00
parent 5c8c67c523
commit 2137690f0a
2 changed files with 16 additions and 9 deletions

View file

@ -388,7 +388,10 @@ class NativeObject { // package-private
return byteOrder;
}
// Cache for page size
/**
* Cache for page size.
* Lazily initialized via a data race; safe because ints are atomic.
*/
private static int pageSize = -1;
/**
@ -397,9 +400,10 @@ class NativeObject { // package-private
* @return The page size, in bytes
*/
static int pageSize() {
if (pageSize == -1)
pageSize = unsafe.pageSize();
return pageSize;
int value = pageSize;
if (value == -1)
pageSize = value = unsafe.pageSize();
return value;
}
}