[pypy-commit] stmgc c7: simple tests
Raemi
noreply at buildbot.pypy.org
Tue Jan 14 16:22:41 CET 2014
Author: Remi Meier <remi.meier at gmail.com>
Branch: c7
Changeset: r609:a0a36a7daa1f
Date: 2014-01-14 16:22 +0100
http://bitbucket.org/pypy/stmgc/changeset/a0a36a7daa1f/
Log: simple tests
diff --git a/c7/core.c b/c7/core.c
--- a/c7/core.c
+++ b/c7/core.c
@@ -122,7 +122,9 @@
bool _stm_was_written(object_t *obj)
{
- return obj->stm_flags & GCFLAG_WRITE_BARRIER;
+ /* if the obj was written to in the current transaction
+ and doesn't trigger the write-barrier slowpath */
+ return !(obj->stm_flags & GCFLAG_WRITE_BARRIER);
}
diff --git a/c7/test/support.py b/c7/test/support.py
--- a/c7/test/support.py
+++ b/c7/test/support.py
@@ -95,10 +95,10 @@
def stm_write(ptr):
lib.stm_write(lib._stm_tl_address(ptr))
-def _stm_was_read(ptr):
+def stm_was_read(ptr):
return lib._stm_was_read(lib._stm_tl_address(ptr))
-def _stm_was_written(ptr):
+def stm_was_written(ptr):
return lib._stm_was_written(lib._stm_tl_address(ptr))
def stm_start_transaction():
diff --git a/c7/test/test_basic.py b/c7/test/test_basic.py
--- a/c7/test/test_basic.py
+++ b/c7/test/test_basic.py
@@ -23,7 +23,7 @@
p4 = stm_allocate(16)
assert p4 - p3 == 16
- def test_simple(self):
+ def test_transaction_start_stop(self):
stm_start_transaction()
self.switch(1)
stm_start_transaction()
@@ -31,6 +31,19 @@
self.switch(0)
stm_stop_transaction()
+ def test_simple_read(self):
+ stm_start_transaction()
+ p1 = stm_allocate(16)
+ stm_read(p1)
+ assert stm_was_read(p1)
+
+ def test_simple_write(self):
+ stm_start_transaction()
+ p1 = stm_allocate(16)
+ assert stm_was_written(p1)
+ stm_write(p1)
+ assert stm_was_written(p1)
+
def test_read_write_1(self):
stm_start_transaction()
p1 = stm_allocate(16)
More information about the pypy-commit
mailing list