summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRickard Green <rickard@erlang.org>2021-10-04 15:55:47 +0200
committerRickard Green <rickard@erlang.org>2021-10-04 15:55:47 +0200
commitefab76beb0ff9188f5afa04a2242b8f5d68aa1b0 (patch)
treef2f2ac501a27e4f4f3e2ebae4ae5125b33bf4a98
parent41a3d473aa848cf4dafe7d55581ffb381858752d (diff)
downloaderlang-efab76beb0ff9188f5afa04a2242b8f5d68aa1b0.tar.gz
HAlloc arguments in apply/fixed_apply instead of GC
-rw-r--r--erts/emulator/beam/beam_common.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/erts/emulator/beam/beam_common.c b/erts/emulator/beam/beam_common.c
index 5eeb9a9807..1a1326450f 100644
--- a/erts/emulator/beam/beam_common.c
+++ b/erts/emulator/beam/beam_common.c
@@ -1300,11 +1300,7 @@ apply_setup_error_handler(Process* p, Eterm module, Eterm function, Uint arity,
* properly adjusted).
*/
- if (HeapWordsLeft(p) < sz) {
- erts_garbage_collect(p, sz, reg, arity);
- }
- hp = HEAP_TOP(p);
- HEAP_TOP(p) += sz;
+ hp = HAlloc(p, sz);
for (i = arity-1; i >= 0; i--) {
args = CONS(hp, reg[i], args);
hp += 2;