mirror of https://github.com/YosysHQ/yosys.git
Some cleanups
This commit is contained in:
parent
8773fd5897
commit
2ad131764f
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
namespace hashlib {
|
namespace hashlib {
|
||||||
|
|
||||||
#define HASHLIB_SIZE_FACTOR 3
|
const int config_size_factor = 3;
|
||||||
|
|
||||||
// The XOR version of DJB2
|
// The XOR version of DJB2
|
||||||
// (traditionally 5381 is used as starting value for the djb2 hash)
|
// (traditionally 5381 is used as starting value for the djb2 hash)
|
||||||
|
@ -161,9 +161,9 @@ class dict
|
||||||
entries.clear();
|
entries.clear();
|
||||||
|
|
||||||
counter = other.size();
|
counter = other.size();
|
||||||
int new_size = hashtable_size(HASHLIB_SIZE_FACTOR * counter);
|
int new_size = hashtable_size(config_size_factor * counter);
|
||||||
hashtable.resize(new_size);
|
hashtable.resize(new_size);
|
||||||
new_size = new_size / HASHLIB_SIZE_FACTOR + 1;
|
new_size = new_size / config_size_factor + 1;
|
||||||
entries.reserve(new_size);
|
entries.reserve(new_size);
|
||||||
|
|
||||||
for (auto &it : other)
|
for (auto &it : other)
|
||||||
|
@ -243,9 +243,9 @@ class dict
|
||||||
if (free_list < 0)
|
if (free_list < 0)
|
||||||
{
|
{
|
||||||
int i = entries.size();
|
int i = entries.size();
|
||||||
int new_size = hashtable_size(HASHLIB_SIZE_FACTOR * entries.size());
|
int new_size = hashtable_size(config_size_factor * entries.size());
|
||||||
hashtable.resize(new_size);
|
hashtable.resize(new_size);
|
||||||
entries.resize(new_size / HASHLIB_SIZE_FACTOR + 1);
|
entries.resize(new_size / config_size_factor + 1);
|
||||||
entries[i].udata = value;
|
entries[i].udata = value;
|
||||||
entries[i].set_next_used(0);
|
entries[i].set_next_used(0);
|
||||||
counter++;
|
counter++;
|
||||||
|
@ -499,9 +499,9 @@ class pool
|
||||||
entries.clear();
|
entries.clear();
|
||||||
|
|
||||||
counter = other.size();
|
counter = other.size();
|
||||||
int new_size = hashtable_size(HASHLIB_SIZE_FACTOR * counter);
|
int new_size = hashtable_size(config_size_factor * counter);
|
||||||
hashtable.resize(new_size);
|
hashtable.resize(new_size);
|
||||||
new_size = new_size / HASHLIB_SIZE_FACTOR + 1;
|
new_size = new_size / config_size_factor + 1;
|
||||||
entries.reserve(new_size);
|
entries.reserve(new_size);
|
||||||
|
|
||||||
for (auto &it : other)
|
for (auto &it : other)
|
||||||
|
@ -581,9 +581,9 @@ class pool
|
||||||
if (free_list < 0)
|
if (free_list < 0)
|
||||||
{
|
{
|
||||||
int i = entries.size();
|
int i = entries.size();
|
||||||
int new_size = hashtable_size(HASHLIB_SIZE_FACTOR * entries.size());
|
int new_size = hashtable_size(config_size_factor * entries.size());
|
||||||
hashtable.resize(new_size);
|
hashtable.resize(new_size);
|
||||||
entries.resize(new_size / HASHLIB_SIZE_FACTOR + 1);
|
entries.resize(new_size / config_size_factor + 1);
|
||||||
entries[i].key = key;
|
entries[i].key = key;
|
||||||
entries[i].set_next_used(0);
|
entries[i].set_next_used(0);
|
||||||
counter++;
|
counter++;
|
||||||
|
|
|
@ -56,12 +56,14 @@ Tcl_Interp *yosys_tcl_interp = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool memhasher_active = false;
|
bool memhasher_active = false;
|
||||||
uint32_t memhasher_rng;
|
uint32_t memhasher_rng = 123456;
|
||||||
std::vector<void*> memhasher_store;
|
std::vector<void*> memhasher_store;
|
||||||
|
|
||||||
void memhasher_on()
|
void memhasher_on()
|
||||||
{
|
{
|
||||||
|
#ifdef __linux__
|
||||||
memhasher_rng += time(NULL) << 16 ^ getpid();
|
memhasher_rng += time(NULL) << 16 ^ getpid();
|
||||||
|
#endif
|
||||||
memhasher_store.resize(0x10000);
|
memhasher_store.resize(0x10000);
|
||||||
memhasher_active = true;
|
memhasher_active = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,14 @@
|
||||||
|
|
||||||
YOSYS_NAMESPACE_BEGIN
|
YOSYS_NAMESPACE_BEGIN
|
||||||
|
|
||||||
#include "kernel/hashlib.h"
|
#ifdef HASHLIB_H
|
||||||
|
# undef HASHLIB_H
|
||||||
|
# include "kernel/hashlib.h"
|
||||||
|
#else
|
||||||
|
# include "kernel/hashlib.h"
|
||||||
|
# undef HASHLIB_H
|
||||||
|
#endif
|
||||||
|
|
||||||
using std::vector;
|
using std::vector;
|
||||||
using std::string;
|
using std::string;
|
||||||
using hashlib::mkhash;
|
using hashlib::mkhash;
|
||||||
|
|
Loading…
Reference in New Issue