diff options
Diffstat (limited to 'erts/emulator/beam/atom.h')
| -rw-r--r-- | erts/emulator/beam/atom.h | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/erts/emulator/beam/atom.h b/erts/emulator/beam/atom.h index a82efabb9f..ca920679c6 100644 --- a/erts/emulator/beam/atom.h +++ b/erts/emulator/beam/atom.h @@ -1,7 +1,7 @@  /*   * %CopyrightBegin%   * - * Copyright Ericsson AB 1996-2016. All Rights Reserved. + * Copyright Ericsson AB 1996-2018. All Rights Reserved.   *   * Licensed under the Apache License, Version 2.0 (the "License");   * you may not use this file except in compliance with the License. @@ -29,12 +29,14 @@  #define MAX_ATOM_SZ_LIMIT (4*MAX_ATOM_CHARACTERS) /* theoretical byte limit */  #define ATOM_LIMIT (1024*1024)  #define MIN_ATOM_TABLE_SIZE 8192 +#define ATOM_BAD_ENCODING_ERROR -1 +#define ATOM_MAX_CHARS_ERROR -2  #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 < (UWORD_CONSTANT(1) << 32)) ? MAX_ATOM_INDEX + 1 : (UWORD_CONSTANT(1) << 32)) +#define MAX_ATOM_TABLE_SIZE ((MAX_ATOM_INDEX + 1 < (UWORD_CONSTANT(1) << 32)) ? MAX_ATOM_INDEX + 1 : ((UWORD_CONSTANT(1) << 31) - 1)) /* Here we use maximum signed interger value to avoid integer overflow */  #else  #define MAX_ATOM_TABLE_SIZE (MAX_ATOM_INDEX + 1)  #endif @@ -133,11 +135,11 @@ int atom_table_sz(void);	/* table size in bytes, excluding stored objects */  Eterm am_atom_put(const char*, int); /* ONLY 7-bit ascii! */  Eterm erts_atom_put(const byte *name, int len, ErtsAtomEncoding enc, int trunc); -int atom_erase(byte*, int); -int atom_static_put(byte*, int); +int erts_atom_put_index(const byte *name, int len, ErtsAtomEncoding enc, int trunc);  void init_atom_table(void);  void atom_info(fmtfn_t, void *);  void dump_atoms(fmtfn_t, void *); +Uint erts_get_atom_limit(void);  int erts_atom_get(const char* name, int len, Eterm* ap, ErtsAtomEncoding enc);  void erts_atom_get_text_space_sizes(Uint *reserved, Uint *used);  #endif | 
