aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2014-01-08 19:19:33 +0100
committerSverker Eriksson <[email protected]>2014-01-08 19:19:33 +0100
commit99fbb7cffd40562907487278ae5f88b2e76d4923 (patch)
treeaf955b3609eb75e3733eb87867502827c8af060a
parente086297a8638a9f57983fd707f6c75e3d4b6edf3 (diff)
downloadotp-99fbb7cffd40562907487278ae5f88b2e76d4923.tar.gz
otp-99fbb7cffd40562907487278ae5f88b2e76d4923.tar.bz2
otp-99fbb7cffd40562907487278ae5f88b2e76d4923.zip
erts: Remove overestimation of heap space in binary_to_term
for 32-bit integers (INTEGER_EXT) on 64-bit architectures.
-rw-r--r--erts/emulator/beam/external.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c
index 2cb44a5b64..bccbedc7bd 100644
--- a/erts/emulator/beam/external.c
+++ b/erts/emulator/beam/external.c
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 1996-2013. All Rights Reserved.
+ * Copyright Ericsson AB 1996-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -4074,7 +4074,9 @@ init_done:
switch (tag) {
case INTEGER_EXT:
SKIP(4);
+#if !defined(ARCH_64) || HALFWORD_HEAP
heap_size += BIG_UINT_HEAP_SIZE;
+#endif
break;
case SMALL_INTEGER_EXT:
SKIP(1);