From 489577676f14d5ee62459f9134095d982a08e430 Mon Sep 17 00:00:00 2001 From: Julien Barbot Date: Fri, 29 Jan 2010 11:31:15 +0100 Subject: Add the +t emulator option to change the maximum number of atoms It is now possible to increase or decrease the maximum number of atoms the VM can handle. The default value is 1048576 (1024*1024). --- erts/emulator/beam/atom.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'erts/emulator/beam/atom.h') diff --git a/erts/emulator/beam/atom.h b/erts/emulator/beam/atom.h index e7e0dc440d..c10218e431 100644 --- a/erts/emulator/beam/atom.h +++ b/erts/emulator/beam/atom.h @@ -28,6 +28,17 @@ #define MAX_ATOM_LENGTH 255 #define ATOM_LIMIT (1024*1024) +#define MIN_ATOM_TABLE_SIZE 8192 + +#ifndef ARCH_32 +/* Internal atom cache needs MAX_ATOM_TABLE_SIZE to be less than an + unsigned 32 bit integer. See external.c(erts_encode_ext_dist_header_setup) + for more details. */ +#define MAX_ATOM_TABLE_SIZE ((MAX_ATOM_INDEX + 1 < (1UL << 32)) ? MAX_ATOM_INDEX + 1 : (1UL << 32)) +#else +#define MAX_ATOM_TABLE_SIZE (MAX_ATOM_INDEX + 1) +#endif + /* * Atom entry. -- cgit v1.2.3