Changeset: a0977e1955e5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a0977e1955e5
Modified Files:
gdk/gdk_bbp.c
Branch: Oct2014
Log Message:
Don't keep checking the same unchanging variable over and over again.
diffs (29 lines):
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -2110,17 +2110,18 @@ incref(bat i, int logical, int lock)
MT_lock_unset(&GDKswapLock(i), "BBPincref");
return 0;
}
- /* parent BATs are not relevant for logical refs */
- hp = logical ? 0 : bs->B.H->heap.parentid;
- tp = logical ? 0 : bs->B.T->heap.parentid;
- hvp = logical || bs->B.H->vheap == 0 || bs->B.H->vheap->parentid == i ?
0 : bs->B.H->vheap->parentid;
- tvp = logical || bs->B.T->vheap == 0 || bs->B.T->vheap->parentid == i ?
0 : bs->B.T->vheap->parentid;
assert(BBP_refs(i) + BBP_lrefs(i) ||
BBP_status(i) & (BBPDELETED | BBPSWAPPED));
- if (logical)
+ if (logical) {
+ /* parent BATs are not relevant for logical refs */
+ hp = tp = hvp = tvp = 0;
refs = ++BBP_lrefs(i);
- else {
+ } else {
+ hp = bs->B.H->heap.parentid;
+ tp = bs->B.T->heap.parentid;
+ hvp = bs->B.H->vheap == 0 || bs->B.H->vheap->parentid == i ? 0
: bs->B.H->vheap->parentid;
+ tvp = bs->B.T->vheap == 0 || bs->B.T->vheap->parentid == i ? 0
: bs->B.T->vheap->parentid;
refs = ++BBP_refs(i);
if (refs == 1 && (hp || tp || hvp || tvp)) {
/* If this is a view, we must load the parent
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list