Author: Remi Meier <[email protected]>
Branch: c8-card-marking
Changeset: r1685:8ca689687bfa
Date: 2015-02-28 12:14 +0100
http://bitbucket.org/pypy/stmgc/changeset/8ca689687bfa/
Log: add fastpath for card marking
diff --git a/c8/stm/core.c b/c8/stm/core.c
--- a/c8/stm/core.c
+++ b/c8/stm/core.c
@@ -978,6 +978,9 @@
struct stm_read_marker_s *cards =
get_read_marker(STM_SEGMENT->segment_base,
(uintptr_t)obj);
uintptr_t card_index = get_index_to_card_index(index);
+ if (cards[card_index].rm == CARD_MARKED)
+ return;
+
if (!IS_OVERFLOW_OBJ(STM_PSEGMENT, obj)
&& !(cards[card_index].rm == CARD_MARKED
|| cards[card_index].rm ==
STM_SEGMENT->transaction_read_version)) {
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit