diff options
author | Rickard Green <[email protected]> | 2016-12-16 16:35:57 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-01-12 15:22:27 +0100 |
commit | d0e88c0c69f94625daf9cafa192bac97115e9072 (patch) | |
tree | 8ff899de94a8cf29adab85a5c085147f946aa983 /erts/emulator/beam/erl_gc.h | |
parent | 04e119e22a68d686b9e8df17c0a4836c4a5b91ea (diff) | |
download | otp-d0e88c0c69f94625daf9cafa192bac97115e9072.tar.gz otp-d0e88c0c69f94625daf9cafa192bac97115e9072.tar.bz2 otp-d0e88c0c69f94625daf9cafa192bac97115e9072.zip |
Perform potentially long GC on dirty schedulers if available
Diffstat (limited to 'erts/emulator/beam/erl_gc.h')
-rw-r--r-- | erts/emulator/beam/erl_gc.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_gc.h b/erts/emulator/beam/erl_gc.h index 54ea9ca3c0..0dfdf52028 100644 --- a/erts/emulator/beam/erl_gc.h +++ b/erts/emulator/beam/erl_gc.h @@ -25,6 +25,8 @@ /* GC declarations shared by beam/erl_gc.c and hipe/hipe_gc.c */ +#define ERTS_POTENTIALLY_LONG_GC_HSIZE (128*1024) /* Words */ + #include "erl_map.h" #if defined(DEBUG) && !ERTS_GLB_INLINE_INCL_FUNC_DEF @@ -145,9 +147,10 @@ void erts_garbage_collect_hibernate(struct process* p); Eterm erts_gc_after_bif_call_lhf(struct process* p, ErlHeapFragment *live_hf_end, Eterm result, Eterm* regs, Uint arity); Eterm erts_gc_after_bif_call(struct process* p, Eterm result, Eterm* regs, Uint arity); -void erts_garbage_collect_literals(struct process* p, Eterm* literals, - Uint lit_size, - struct erl_off_heap_header* oh); +int erts_garbage_collect_literals(struct process* p, Eterm* literals, + Uint lit_size, + struct erl_off_heap_header* oh, + int fcalls); Uint erts_next_heap_size(Uint, Uint); Eterm erts_heap_sizes(struct process* p); |