[pypy-commit] pypy stmgc-c8: import stmgc
Raemi
noreply at buildbot.pypy.org
Mon Nov 23 05:22:36 EST 2015
Author: Remi Meier <remi.meier at gmail.com>
Branch: stmgc-c8
Changeset: r80853:f41aa8585729
Date: 2015-11-23 11:24 +0100
http://bitbucket.org/pypy/pypy/changeset/f41aa8585729/
Log: import stmgc
diff --git a/rpython/translator/stm/src_stm/revision b/rpython/translator/stm/src_stm/revision
--- a/rpython/translator/stm/src_stm/revision
+++ b/rpython/translator/stm/src_stm/revision
@@ -1,1 +1,1 @@
-72facb6e4533
+e3071642fd5c
diff --git a/rpython/translator/stm/src_stm/stm/core.c b/rpython/translator/stm/src_stm/stm/core.c
--- a/rpython/translator/stm/src_stm/stm/core.c
+++ b/rpython/translator/stm/src_stm/stm/core.c
@@ -1561,6 +1561,14 @@
list_clear(pseg->objects_pointing_to_nursery);
list_clear(pseg->old_objects_with_cards_set);
+ LIST_FOREACH_R(pseg->large_overflow_objects, uintptr_t /*item*/,
+ {
+ if (is_small_uniform((object_t*)item)) {
+ //_stm_small_free()
+ } else {
+ _stm_large_free(stm_object_pages + item);
+ }
+ });
list_clear(pseg->large_overflow_objects);
list_clear(pseg->young_weakrefs);
#pragma pop_macro("STM_SEGMENT")
diff --git a/rpython/translator/stm/src_stm/stm/detach.c b/rpython/translator/stm/src_stm/stm/detach.c
--- a/rpython/translator/stm/src_stm/stm/detach.c
+++ b/rpython/translator/stm/src_stm/stm/detach.c
@@ -127,6 +127,7 @@
// XXX: not sure if the next line is a good idea
tl->last_associated_segment_num = remote_seg_num;
ensure_gs_register(remote_seg_num);
+ assert(old_tl == STM_SEGMENT->running_thread);
timing_event(STM_SEGMENT->running_thread, STM_TRANSACTION_REATTACH);
commit_external_inevitable_transaction();
}
@@ -186,6 +187,7 @@
assert(segnum > 0);
ensure_gs_register(segnum);
+ assert(((stm_thread_local_t *)old) == STM_SEGMENT->running_thread);
timing_event(STM_SEGMENT->running_thread, STM_TRANSACTION_REATTACH);
commit_external_inevitable_transaction();
ensure_gs_register(mysegnum);
More information about the pypy-commit
mailing list