Avoid garbage from boxing of ints in DirtyBuildingState.isReady.

PiperOrigin-RevId: 248128144
diff --git a/src/main/java/com/google/devtools/build/skyframe/DirtyBuildingState.java b/src/main/java/com/google/devtools/build/skyframe/DirtyBuildingState.java
index 8b95580..42c80c6 100644
--- a/src/main/java/com/google/devtools/build/skyframe/DirtyBuildingState.java
+++ b/src/main/java/com/google/devtools/build/skyframe/DirtyBuildingState.java
@@ -318,12 +318,11 @@
 
   /** Returns whether all known children of this node have signaled that they are done. */
   boolean isReady(int numDirectDeps) {
-    Preconditions.checkState(
-        signaledDeps <= numDirectDeps + externalDeps,
-        "%s %s %s",
-        numDirectDeps,
-        externalDeps,
-        this);
+    // Avoids calling Preconditions.checkState because it showed up in garbage profiles due to
+    // boxing of the int format args.
+    if (signaledDeps > numDirectDeps + externalDeps) {
+      throw new IllegalStateException(String.format("%s %s %s", numDirectDeps, externalDeps, this));
+    }
     return signaledDeps == numDirectDeps + externalDeps;
   }