aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-09-02 15:10:24 +0200
committerRickard Green <[email protected]>2016-09-02 15:10:24 +0200
commit26be791d0832060de91e4d7afdf33fad379dd718 (patch)
tree7c52a6e1d8f91b26df7e3d496fecfb91da3b9c8b /erts/emulator/beam
parentc2f8b61ca3682281752fa0984699214dfcbf7ccd (diff)
parent197ed04e8e2230fb011dc95e25089cad5141d460 (diff)
downloadotp-26be791d0832060de91e4d7afdf33fad379dd718.tar.gz
otp-26be791d0832060de91e4d7afdf33fad379dd718.tar.bz2
otp-26be791d0832060de91e4d7afdf33fad379dd718.zip
Merge branch 'maint'
* maint: Introduce literal sweep of native stack in new purge strategy
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/beam_bif_load.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_bif_load.c b/erts/emulator/beam/beam_bif_load.c
index 115005e857..c7e13f276d 100644
--- a/erts/emulator/beam/beam_bif_load.c
+++ b/erts/emulator/beam/beam_bif_load.c
@@ -944,8 +944,13 @@ erts_proc_copy_literal_area(Process *c_p, int *redsp, int fcalls, int gc_allowed
}
if (any_heap_ref_ptrs(c_p->stop, c_p->hend, literals, lit_bsize))
+ goto literal_gc;
+ *redsp += 1;
+#ifdef HIPE
+ if (nstack_any_heap_ref_ptrs(c_p, literals, lit_bsize))
goto literal_gc;
*redsp += 1;
+#endif
if (any_heap_refs(c_p->heap, c_p->htop, literals, lit_bsize))
goto literal_gc;
*redsp += 1;