Fix slow gm debug builds that are doing large path validation runs.

Add a new compile flag to allow path validation to be selectively
enabled instead of being always on.

Review URL: https://codereview.appspot.com/6734059

git-svn-id: http://skia.googlecode.com/svn/trunk@6036 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/config/SkUserConfig.h b/include/config/SkUserConfig.h
index 93dda70..79fdc7a 100644
--- a/include/config/SkUserConfig.h
+++ b/include/config/SkUserConfig.h
@@ -65,6 +65,14 @@
 //#define SK_DEBUG
 //#define SK_RELEASE
 
+/*  Skia has certain debug-only code that is extremely intensive even for debug
+    builds.  This code is useful for diagnosing specific issues, but is not
+    generally applicable, therefore it must be explicitly enabled to avoid
+    the performance impact. By default these flags are undefined, but can be
+    enabled by uncommenting them below.
+ */
+//#define SK_DEBUG_PATH
+
 /*  To assist debugging, Skia provides an instance counting utility in
     include/core/SkInstCount.h. This flag turns on and off that utility to
     allow instance count tracking in either debug or release builds. By
diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp
index eb0e485..9723db9 100644
--- a/src/core/SkPath.cpp
+++ b/src/core/SkPath.cpp
@@ -1942,6 +1942,7 @@
     SkASSERT(this != NULL);
     SkASSERT((fFillType & ~3) == 0);
 
+#ifdef SK_DEBUG_PATH
     if (!fBoundsIsDirty) {
         SkRect bounds;
 
@@ -1990,8 +1991,9 @@
         }
     }
     SkASSERT(mask == fSegmentMask);
+#endif // SK_DEBUG_PATH
 }
-#endif
+#endif // SK_DEBUG
 
 ///////////////////////////////////////////////////////////////////////////////