Index: src/synch/rwlock.c
===================================================================
--- src/synch/rwlock.c	(revision 397c77f3eabd20d194d7f9f89a7358eb5a0e23f8)
+++ src/synch/rwlock.c	(revision 7eade4519d32ca5af0efca0a7b73c67a90d6167f)
@@ -81,7 +81,7 @@
 	
 	pri = cpu_priority_high();
-	spinlock_lock(&the->thread->lock);
-	the->thread->rwlock_holder_type = RWLOCK_WRITER;
-	spinlock_unlock(&the->thread->lock);	
+	spinlock_lock(&THREAD->lock);
+	THREAD->rwlock_holder_type = RWLOCK_WRITER;
+	spinlock_unlock(&THREAD->lock);	
 	cpu_priority_restore(pri);
 
@@ -121,7 +121,7 @@
 	
 	pri = cpu_priority_high();
-	spinlock_lock(&the->thread->lock);
-	the->thread->rwlock_holder_type = RWLOCK_READER;
-	spinlock_unlock(&the->thread->lock);	
+	spinlock_lock(&THREAD->lock);
+	THREAD->rwlock_holder_type = RWLOCK_READER;
+	spinlock_unlock(&THREAD->lock);	
 
 	spinlock_lock(&rwl->lock);
Index: src/synch/spinlock.c
===================================================================
--- src/synch/spinlock.c	(revision 397c77f3eabd20d194d7f9f89a7358eb5a0e23f8)
+++ src/synch/spinlock.c	(revision 7eade4519d32ca5af0efca0a7b73c67a90d6167f)
@@ -50,5 +50,5 @@
 	while (test_and_set(&sl->val)) {
 		if (i++ > 300000) {
-			printf("cpu%d: looping on spinlock %X, caller=%X\n", the->cpu->id, sl, caller);
+			printf("cpu%d: looping on spinlock %X, caller=%X\n", CPU->id, sl, caller);
 			i = 0;
 		}
Index: src/synch/waitq.c
===================================================================
--- src/synch/waitq.c	(revision 397c77f3eabd20d194d7f9f89a7358eb5a0e23f8)
+++ src/synch/waitq.c	(revision 7eade4519d32ca5af0efca0a7b73c67a90d6167f)
@@ -130,11 +130,11 @@
 	 * there are timeouts in progress.
 	 */
-	spinlock_lock(&the->thread->lock);
-	if (the->thread->timeout_pending) {
-		spinlock_unlock(&the->thread->lock);
+	spinlock_lock(&THREAD->lock);
+	if (THREAD->timeout_pending) {
+		spinlock_unlock(&THREAD->lock);
 		cpu_priority_restore(pri);		
 		goto restart;
 	}
-	spinlock_unlock(&the->thread->lock);
+	spinlock_unlock(&THREAD->lock);
 	
 	spinlock_lock(&wq->lock);
@@ -160,28 +160,28 @@
 	 * Now we are firmly decided to go to sleep.
 	 */
-	spinlock_lock(&the->thread->lock);
+	spinlock_lock(&THREAD->lock);
 	if (usec) {
 		/* We use the timeout variant. */
-		if (!context_save(&the->thread->sleep_timeout_context)) {
+		if (!context_save(&THREAD->sleep_timeout_context)) {
 			/*
 			 * Short emulation of scheduler() return code.
 			 */
-			spinlock_unlock(&the->thread->lock);
+			spinlock_unlock(&THREAD->lock);
 			cpu_priority_restore(pri);
 			return ESYNCH_TIMEOUT;
 		}
-		the->thread->timeout_pending = 1;
-		timeout_register(&the->thread->sleep_timeout, (__u64) usec, waitq_interrupted_sleep, the->thread);
-	}
-
-	list_append(&the->thread->wq_link, &wq->head);
+		THREAD->timeout_pending = 1;
+		timeout_register(&THREAD->sleep_timeout, (__u64) usec, waitq_interrupted_sleep, THREAD);
+	}
+
+	list_append(&THREAD->wq_link, &wq->head);
 
 	/*
 	 * Suspend execution.
 	 */
-	the->thread->state = Sleeping;
-	the->thread->sleep_queue = wq;
-
-	spinlock_unlock(&the->thread->lock);
+	THREAD->state = Sleeping;
+	THREAD->sleep_queue = wq;
+
+	spinlock_unlock(&THREAD->lock);
 
 	scheduler(); 	/* wq->lock is released in scheduler_separated_stack() */
