mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8143958: CDS Shared flags need constraint function
Implement range constraints for CDS flags. Reviewed-by: iklam, jiangli
This commit is contained in:
parent
3af6c14332
commit
5a7ecbdf94
4 changed files with 44 additions and 11 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -130,3 +130,36 @@ Flag::Error PerfDataSamplingIntervalFunc(intx value, bool verbose) {
|
|||
return Flag::SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
static inline Flag::Error sharedConstraintFunc(const char *name, size_t value, size_t taken, bool verbose) {
|
||||
size_t available = (MAX_SHARED_DELTA-(taken+SHARED_PAGE));
|
||||
if (value > available) {
|
||||
CommandLineError::print(verbose,
|
||||
"%s (" SIZE_FORMAT ") must be "
|
||||
"smaller than or equal to (" SIZE_FORMAT ")\n",
|
||||
name, value, available);
|
||||
return Flag::VIOLATES_CONSTRAINT;
|
||||
} else {
|
||||
return Flag::SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
Flag::Error SharedReadWriteSizeConstraintFunc(size_t value, bool verbose) {
|
||||
size_t taken = (SharedReadOnlySize+SharedMiscDataSize+SharedMiscCodeSize);
|
||||
return sharedConstraintFunc("SharedReadWriteSize", value, taken, verbose);
|
||||
}
|
||||
|
||||
Flag::Error SharedReadOnlySizeConstraintFunc(size_t value, bool verbose) {
|
||||
size_t taken = (SharedReadWriteSize+SharedMiscDataSize+SharedMiscCodeSize);
|
||||
return sharedConstraintFunc("SharedReadOnlySize", value, taken, verbose);
|
||||
}
|
||||
|
||||
Flag::Error SharedMiscDataSizeConstraintFunc(size_t value, bool verbose) {
|
||||
size_t taken = (SharedReadWriteSize+SharedReadOnlySize+SharedMiscCodeSize);
|
||||
return sharedConstraintFunc("SharedMiscDataSize", value, taken, verbose);
|
||||
}
|
||||
|
||||
Flag::Error SharedMiscCodeSizeConstraintFunc(size_t value, bool verbose) {
|
||||
size_t taken = (SharedReadWriteSize+SharedReadOnlySize+SharedMiscDataSize);
|
||||
return sharedConstraintFunc("SharedMiscCodeSize", value, taken, verbose);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue