TODO list for USB development.
[pintos-anon] / doc / doc.texi
index b2b3b5cb8b47a6d9e22ded0157eef5e39652fa56..52fd1a0fa5c0c933fe9594e47044844744f1961f 100644 (file)
@@ -55,7 +55,7 @@ goodness.
 
 Things you @emph{don't} need: an explanation of the pre-existing
 Pintos code, an explanation of the project spec, justification for the
-project (e.g.@: we don't need you to explain to us why filesystems are
+project (e.g.@: we don't need you to explain to us why file systems are
 important to an operating system), a play-by-play of every change you
 made to the system, any other pontificating.  (You may laugh at some
 of the things listed above, but we've gotten all of them in the past.)
@@ -112,6 +112,21 @@ should be in @file{pintos/src/threads/testcases}.
 
 @item
 Think about what may actually crash your code.
+
+@item
+Think about what the compiler might do to your code.  Suppose you write
+the following to test your virtual memory implementation's ability to
+expand the stack:
+@example
+int main (void) @{
+  int array[4096];
+  array[123] = 234;
+  return 0;
+@}
+@end example
+@noindent The compiler is quite likely to notice that the value that you
+write to the array is never used again and thereby decide not to write
+it at all.  The result is that your test does not test anything at all.
 @end itemize
 
 Your @file{TESTCASE} file is also where you can show us the