[dev.garbage] runtime: raise StackGuard limit for Windows (again)

640 bytes ought to be enough for anybody.

We'll bring this back down before Go 1.5. That's issue 9214.

TBR=rlh
CC=golang-codereviews
https://golang.org/cl/188730043
diff --git a/src/runtime/stack.h b/src/runtime/stack.h
index 0099d05..0b2cd56 100644
--- a/src/runtime/stack.h
+++ b/src/runtime/stack.h
@@ -17,7 +17,7 @@
 #endif	// Windows
 
 	StackBig = 4096,
-	StackGuard = 512 + StackSystem,
+	StackGuard = 640 + StackSystem,
 	StackSmall = 128,
 	StackLimit = StackGuard - StackSystem - StackSmall,
 };
diff --git a/src/runtime/stack2.go b/src/runtime/stack2.go
index e50b32c..8a78b1a 100644
--- a/src/runtime/stack2.go
+++ b/src/runtime/stack2.go
@@ -84,7 +84,7 @@
 
 	// The stack guard is a pointer this many bytes above the
 	// bottom of the stack.
-	_StackGuard = 512 + _StackSystem
+	_StackGuard = 640 + _StackSystem
 
 	// After a stack split check the SP is allowed to be this
 	// many bytes below the stack guard.  This saves an instruction
diff --git a/test/nosplit.go b/test/nosplit.go
index 3a63e87..799f2c5 100644
--- a/test/nosplit.go
+++ b/test/nosplit.go
@@ -268,11 +268,11 @@
 				name := m[1]
 				size, _ := strconv.Atoi(m[2])
 
-				// The limit was originally 128 but is now 384.
+				// The limit was originally 128 but is now 512.
 				// Instead of rewriting the test cases above, adjust
 				// the first stack frame to use up the extra 32 bytes.
 				if i == 0 {
-					size += 384 - 128
+					size += 512 - 128
 				}
 
 				if size%ptrSize == 4 {