[code-cache] Log resources loaded with static code caches

Add another entry to the NoCacheReason enum, reporting that the chromium
ScriptResource was loaded with a static code cache, that does not need to
be regenerated or updated.

Bug: chromium:378504631
Change-Id: I303dba6fcdcb14afbf446bfc8eae1fc0ce5037e6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6229248
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Thomas Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#98568}
diff --git a/include/v8-script.h b/include/v8-script.h
index 244a5a7..ee43278 100644
--- a/include/v8-script.h
+++ b/include/v8-script.h
@@ -717,7 +717,8 @@
     kNoCacheBecausePacScript,
     kNoCacheBecauseInDocumentWrite,
     kNoCacheBecauseResourceWithNoCacheHandler,
-    kNoCacheBecauseDeferredProduceCodeCache
+    kNoCacheBecauseDeferredProduceCodeCache,
+    kNoCacheBecauseStaticCodeCache,
   };
 
   /**
diff --git a/src/codegen/compiler.cc b/src/codegen/compiler.cc
index 866c4b3..cdb2d9c 100644
--- a/src/codegen/compiler.cc
+++ b/src/codegen/compiler.cc
@@ -3518,6 +3518,7 @@
     kNoCacheBecauseInDocumentWrite,
     kNoCacheBecauseResourceWithNoCacheHandler,
     kHitIsolateCacheWhenStreamingSource,
+    kNoCacheBecauseStaticCodeCache,
     kCount
   };
 
@@ -3624,6 +3625,8 @@
         return CacheBehaviour::kNoCacheBecauseResourceWithNoCacheHandler;
       case ScriptCompiler::kNoCacheBecauseDeferredProduceCodeCache:
         return CacheBehaviour::kProduceCodeCache;
+      case ScriptCompiler::kNoCacheBecauseStaticCodeCache:
+        return CacheBehaviour::kNoCacheBecauseStaticCodeCache;
       }
     UNREACHABLE();
   }
@@ -3675,6 +3678,7 @@
       case CacheBehaviour::kNoCacheBecausePacScript:
       case CacheBehaviour::kNoCacheBecauseInDocumentWrite:
       case CacheBehaviour::kNoCacheBecauseResourceWithNoCacheHandler:
+      case CacheBehaviour::kNoCacheBecauseStaticCodeCache:
         return isolate_->counters()->compile_script_no_cache_other();
 
       case CacheBehaviour::kCount:
diff --git a/src/logging/counters-definitions.h b/src/logging/counters-definitions.h
index 03509f5..095d6f8 100644
--- a/src/logging/counters-definitions.h
+++ b/src/logging/counters-definitions.h
@@ -48,8 +48,8 @@
   HR(wasm_compile_huge_function_peak_memory_bytes,                             \
      V8.WasmCompileHugeFunctionPeakMemoryBytes, 1, GB, 51)                     \
   HR(asm_module_size_bytes, V8.AsmModuleSizeBytes, 1, GB, 51)                  \
-  HR(compile_script_cache_behaviour, V8.CompileScript.CacheBehaviour, 0, 20,   \
-     21)                                                                       \
+  HR(compile_script_cache_behaviour, V8.CompileScript.CacheBehaviour, 0, 21,   \
+     22)                                                                       \
   HR(wasm_memory_allocation_result, V8.WasmMemoryAllocationResult, 0, 3, 4)    \
   /* Committed code size per module, collected on GC. */                       \
   /* Older histogram, in MiB (0..1024MB). */                                   \