aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/copy.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2019-01-31 10:49:03 +0100
committerLukas Larsson <[email protected]>2019-02-22 11:12:54 +0100
commit2bf27ec51e331371412576a9a9a67353109109ad (patch)
tree6d3eec0f5b1cf8949b4b1ff1d87bbc369ca82606 /erts/emulator/beam/copy.c
parent1066040c35e96566e415c50042345fba865f10c8 (diff)
downloadotp-2bf27ec51e331371412576a9a9a67353109109ad.tar.gz
otp-2bf27ec51e331371412576a9a9a67353109109ad.tar.bz2
otp-2bf27ec51e331371412576a9a9a67353109109ad.zip
erts: Add ERL_NODE_BOOKKEEP to node tables refc
Diffstat (limited to 'erts/emulator/beam/copy.c')
-rw-r--r--erts/emulator/beam/copy.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/copy.c b/erts/emulator/beam/copy.c
index e7bd046e18..db74b06cc5 100644
--- a/erts/emulator/beam/copy.c
+++ b/erts/emulator/beam/copy.c
@@ -854,7 +854,7 @@ Eterm copy_struct_x(Eterm obj, Uint sz, Eterm** hpp, ErlOffHeap* off_heap, Uint
case EXTERNAL_REF_SUBTAG:
{
ExternalThing *etp = (ExternalThing *) objp;
- erts_refc_inc(&etp->node->refc, 2);
+ erts_ref_node_entry(etp->node, 2, make_boxed(htop));
}
L_off_heap_node_container_common:
{
@@ -1660,7 +1660,7 @@ Uint copy_shared_perform(Eterm obj, Uint size, erts_shcopy_t *info,
case EXTERNAL_REF_SUBTAG:
{
ExternalThing *etp = (ExternalThing *) ptr;
- erts_refc_inc(&etp->node->refc, 2);
+ erts_ref_node_entry(etp->node, 2, make_boxed(hp));
}
off_heap_node_container_common:
{
@@ -1866,7 +1866,7 @@ Eterm copy_shallow(Eterm* ERTS_RESTRICT ptr, Uint sz, Eterm** hpp,
case EXTERNAL_REF_SUBTAG:
{
ExternalThing* etp = (ExternalThing *) (tp-1);
- erts_refc_inc(&etp->node->refc, 2);
+ erts_ref_node_entry(etp->node, 2, make_boxed(hp-1));
}
off_heap_common:
{