Index: libcfa/src/concurrency/ready_queue.cfa
===================================================================
--- libcfa/src/concurrency/ready_queue.cfa	(revision f55d54d8755e2f432d8d2b6071ba7c1f8432b2d8)
+++ libcfa/src/concurrency/ready_queue.cfa	(revision f302d808819bcd5cd5b7e805e93715c5991e5e6a)
@@ -406,5 +406,5 @@
 
 			// WARNING: std::min is polymorphic and therefore causes 500% slowdown instead of the expected 2%
-			proc->rdq.cutoff = tsc1 < tsc2 ? tsc1 : tsc2; 
+			proc->rdq.cutoff = tsc1 < tsc2 ? tsc1 : tsc2;
 		}
 		else {
@@ -469,5 +469,6 @@
 	// Actually pop the list
 	struct $thread * thrd;
-	thrd = pop(lane);
+	unsigned long long tsv;
+	[thrd, tsv] = pop(lane);
 
 	/* paranoid */ verify(thrd);
@@ -481,5 +482,5 @@
 
 	#if defined(USE_WORK_STEALING)
-		lanes.tscs[w].tv = thrd->link.ts;
+		lanes.tscs[w].tv = tsv;
 	#endif
 
@@ -663,5 +664,6 @@
 			while(!is_empty(lanes.data[idx])) {
 				struct $thread * thrd;
-				thrd = pop(lanes.data[idx]);
+				unsigned long long _;
+				[thrd, _] = pop(lanes.data[idx]);
 
 				push(cltr, thrd);
Index: libcfa/src/concurrency/ready_subqueue.hfa
===================================================================
--- libcfa/src/concurrency/ready_subqueue.hfa	(revision f55d54d8755e2f432d8d2b6071ba7c1f8432b2d8)
+++ libcfa/src/concurrency/ready_subqueue.hfa	(revision f302d808819bcd5cd5b7e805e93715c5991e5e6a)
@@ -53,5 +53,5 @@
 // Push a thread onto this lane
 // returns true of lane was empty before push, false otherwise
-void push( __intrusive_lane_t & this, $thread * node ) {
+static inline void push( __intrusive_lane_t & this, $thread * node ) {
 	/* paranoid */ verify( node->link.next == 0p );
 	/* paranoid */ verify( node->link.ts   == 0  );
@@ -77,9 +77,10 @@
 // returns popped
 // returns true of lane was empty before push, false otherwise
-$thread * pop( __intrusive_lane_t & this ) {
+static inline [* $thread, unsigned long long] pop( __intrusive_lane_t & this ) {
 	/* paranoid */ verify( this.anchor.next != 0p );
 	/* paranoid */ verify( this.anchor.ts   != 0  );
 
 	// Get the relevant nodes locally
+	unsigned long long ts = this.anchor.ts;
 	$thread * node = this.anchor.next;
 	this.anchor.next = node->link.next;
@@ -94,5 +95,5 @@
 	/* paranoid */ verify( node->link.next == 0p );
 	/* paranoid */ verify( node->link.ts   == 0  );
-	return node;
+	return [node, ts];
 }
 
