Redesign and harden string interning.
Up to 40% faster on hash-intensive benchmarks. With some ideas from Sokolov Yura.
This commit is contained in:
@@ -637,14 +637,31 @@ extern void *LJ_WIN_LOADLIBA(const char *path);
|
||||
|
||||
/* Don't make any changes here. Instead build with:
|
||||
** make "XCFLAGS=-DLUAJIT_SECURITY_flag=value"
|
||||
**
|
||||
** Important note to distro maintainers: DO NOT change the defaults for a
|
||||
** regular distro build -- neither upwards, nor downwards!
|
||||
** These build-time configurable security flags are intended for embedders
|
||||
** who may have specific needs wrt. security vs. performance.
|
||||
*/
|
||||
|
||||
/* Security defaults. */
|
||||
#ifndef LUAJIT_SECURITY_PRNG
|
||||
/* PRNG init: 0 = fixed/insecure, 1 = secure from OS. */
|
||||
#define LUAJIT_SECURITY_PRNG 1
|
||||
#endif
|
||||
|
||||
#ifndef LUAJIT_SECURITY_STRHASH
|
||||
/* String hash: 0 = sparse only, 1 = sparse + dense. */
|
||||
#define LUAJIT_SECURITY_STRHASH 1
|
||||
#endif
|
||||
|
||||
#ifndef LUAJIT_SECURITY_STRID
|
||||
/* String IDs: 0 = linear, 1 = reseed < 255, 2 = reseed < 15, 3 = random. */
|
||||
#define LUAJIT_SECURITY_STRID 1
|
||||
#endif
|
||||
|
||||
#ifndef LUAJIT_SECURITY_MCODE
|
||||
/* Machine code page protection: 0 = insecure RWX, 1 = secure RW^X. */
|
||||
#define LUAJIT_SECURITY_MCODE 1
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user