[pypy-commit] stmgc default: Fix.
arigo
noreply at buildbot.pypy.org
Thu Aug 14 13:02:16 CEST 2014
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r1312:43bf7ea2e593
Date: 2014-08-14 13:02 +0200
http://bitbucket.org/pypy/stmgc/changeset/43bf7ea2e593/
Log: Fix.
diff --git a/c7/stm/gcpage.c b/c7/stm/gcpage.c
--- a/c7/stm/gcpage.c
+++ b/c7/stm/gcpage.c
@@ -397,17 +397,20 @@
mark_visit_object(current->ss, segment_base);
}
mark_visit_object(tl->thread_local_obj, segment_base);
- stm_rewind_jmp_enum_shadowstack(tl, mark_visit_objects_from_ss);
tl = tl->next;
} while (tl != stm_all_thread_locals);
long i;
for (i = 1; i <= NB_SEGMENTS; i++) {
- if (get_priv_segment(i)->transaction_state != TS_NONE)
+ if (get_priv_segment(i)->transaction_state != TS_NONE) {
mark_visit_object(
get_priv_segment(i)->threadlocal_at_start_of_transaction,
get_segment_base(i));
+ stm_rewind_jmp_enum_shadowstack(
+ get_segment(i)->running_thread,
+ mark_visit_objects_from_ss);
+ }
}
}
diff --git a/c7/stm/rewind_setjmp.c b/c7/stm/rewind_setjmp.c
--- a/c7/stm/rewind_setjmp.c
+++ b/c7/stm/rewind_setjmp.c
@@ -194,12 +194,12 @@
/* frees all saved stack copies */
assert(_has_mutex());
struct _rewind_jmp_moved_s *p = rjthread->moved_off;
- struct _rewind_jmp_moved_s *pnext;
while (p) {
- pnext = p->next;
+ struct _rewind_jmp_moved_s *pnext = p->next;
rj_free(p);
p = pnext;
}
rjthread->moved_off = NULL;
rjthread->moved_off_base = NULL;
+ rjthread->moved_off_ssbase = NULL;
}
More information about the pypy-commit
mailing list