Implemented VM mode for OpenCL RandomX.
This commit is contained in:
@@ -34,8 +34,7 @@ static_assert(RANDOMX_FLAG_LARGE_PAGES == 1, "RANDOMX_FLAG_LARGE_PAGES flag mism
|
||||
|
||||
|
||||
|
||||
xmrig::RxCache::RxCache(bool hugePages) :
|
||||
m_seed()
|
||||
xmrig::RxCache::RxCache(bool hugePages)
|
||||
{
|
||||
if (hugePages) {
|
||||
m_flags = RANDOMX_FLAG_JIT | RANDOMX_FLAG_LARGE_PAGES;
|
||||
@@ -62,14 +61,14 @@ xmrig::RxCache::~RxCache()
|
||||
}
|
||||
|
||||
|
||||
bool xmrig::RxCache::init(const uint8_t *seed)
|
||||
bool xmrig::RxCache::init(const Buffer &seed)
|
||||
{
|
||||
if (isReady(seed)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
memcpy(m_seed, seed, sizeof(m_seed));
|
||||
randomx_init_cache(m_cache, m_seed, sizeof(m_seed));
|
||||
m_seed = seed;
|
||||
randomx_init_cache(m_cache, m_seed.data(), sizeof(m_seed));
|
||||
|
||||
m_initCount++;
|
||||
|
||||
@@ -77,7 +76,7 @@ bool xmrig::RxCache::init(const uint8_t *seed)
|
||||
}
|
||||
|
||||
|
||||
bool xmrig::RxCache::isReady(const uint8_t *seed) const
|
||||
bool xmrig::RxCache::isReady(const Buffer &seed) const
|
||||
{
|
||||
return m_initCount && memcmp(m_seed, seed, sizeof(m_seed)) == 0;
|
||||
return !m_seed.isEmpty() && m_seed == seed;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user