diff options
author | Björn-Egil Dahlberg <egil@erlang.org> | 2015-09-25 17:03:02 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <egil@erlang.org> | 2015-11-17 16:07:55 +0100 |
commit | 1391715d8bbba315e1509e60e6245159a009bd9b (patch) | |
tree | 0afa756ee9ed8bb0d88c441533cb778fe08e1b13 /erts/emulator/beam/global.h | |
parent | 8f8aa9c5c4e26e563c935e06f8346175fa15d876 (diff) | |
download | otp-1391715d8bbba315e1509e60e6245159a009bd9b.tar.gz otp-1391715d8bbba315e1509e60e6245159a009bd9b.tar.bz2 otp-1391715d8bbba315e1509e60e6245159a009bd9b.zip |
Use copy literal range check in message passing and purging
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r-- | erts/emulator/beam/global.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index f106b941ef..71d072fa7e 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -982,6 +982,12 @@ Eterm erl_is_function(Process* p, Eterm arg1, Eterm arg2); /* beam_bif_load.c */ Eterm erts_check_process_code(Process *c_p, Eterm module, int allow_gc, int *redsp); +typedef struct { + Eterm *ptr; + Uint sz; +} copy_literals_t; + +extern copy_literals_t erts_clrange; /* beam_load.c */ typedef struct { @@ -1063,6 +1069,8 @@ typedef struct { Eterm* shtable_start; ErtsAlcType_t shtable_alloc_type; Uint literal_size; + Eterm *range_ptr; + Uint range_sz; } erts_shcopy_t; #define INITIALIZE_SHCOPY(info) \ @@ -1071,6 +1079,8 @@ do { \ info.bitstore_start = info.bitstore_default; \ info.shtable_start = info.shtable_default; \ info.literal_size = 0; \ + info.range_ptr = erts_clrange.ptr; \ + info.range_sz = erts_clrange.sz; \ } while(0) #define DESTROY_SHCOPY(info) \ |