mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-05-12 12:53:31 +02:00
validationcaches: Abolish arbitrary limit
1. -maxsigcachesize is a DEBUG_ONLY option 2. Almost 7 years has passed since its semantics change in 830e3f3d027ba5c8121eed0f6a9ce99961352572 from "number of entries" to "number of mebibytes" 3. A std::new_handler was added to the codebase after the original PR which introduced this limit, which will terminate immediately instead of causing trouble by being caught somewhere unexpected.
This commit is contained in:
parent
08dbc6ef72
commit
b370164b31
@ -96,7 +96,7 @@ bool InitSignatureCache()
|
||||
{
|
||||
// nMaxCacheSize is unsigned. If -maxsigcachesize is set to zero,
|
||||
// setup_bytes creates the minimum possible cache (2 elements).
|
||||
size_t nMaxCacheSize = std::min(std::max((int64_t)0, gArgs.GetIntArg("-maxsigcachesize", DEFAULT_MAX_SIG_CACHE_SIZE) / 2), MAX_MAX_SIG_CACHE_SIZE) * ((size_t) 1 << 20);
|
||||
size_t nMaxCacheSize = std::max((int64_t)0, gArgs.GetIntArg("-maxsigcachesize", DEFAULT_MAX_SIG_CACHE_SIZE) / 2) * ((size_t) 1 << 20);
|
||||
|
||||
auto setup_results = signatureCache.setup_bytes(nMaxCacheSize);
|
||||
|
||||
|
@ -16,8 +16,6 @@
|
||||
// systems). Due to how we count cache size, actual memory usage is slightly
|
||||
// more (~32.25 MB)
|
||||
static const unsigned int DEFAULT_MAX_SIG_CACHE_SIZE = 32;
|
||||
// Maximum sig cache size allowed
|
||||
static const int64_t MAX_MAX_SIG_CACHE_SIZE = 16384;
|
||||
|
||||
class CPubKey;
|
||||
|
||||
|
@ -1666,7 +1666,7 @@ bool InitScriptExecutionCache() {
|
||||
g_scriptExecutionCacheHasher.Write(nonce.begin(), 32);
|
||||
// nMaxCacheSize is unsigned. If -maxsigcachesize is set to zero,
|
||||
// setup_bytes creates the minimum possible cache (2 elements).
|
||||
size_t nMaxCacheSize = std::min(std::max((int64_t)0, gArgs.GetIntArg("-maxsigcachesize", DEFAULT_MAX_SIG_CACHE_SIZE) / 2), MAX_MAX_SIG_CACHE_SIZE) * ((size_t) 1 << 20);
|
||||
size_t nMaxCacheSize = std::max((int64_t)0, gArgs.GetIntArg("-maxsigcachesize", DEFAULT_MAX_SIG_CACHE_SIZE) / 2) * ((size_t) 1 << 20);
|
||||
|
||||
auto setup_results = g_scriptExecutionCache.setup_bytes(nMaxCacheSize);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user