Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 99a8f59046793e78b22b85c70fb7d91f6faaf02c..4bdce590610c37dd6e49c38548e994a243002ac1 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -6477,8 +6477,8 @@ class SharedFunctionInfo: public HeapObject { |
inline void ReplaceCode(Code* code); |
// [optimized_code_map]: Map from native context to optimized code |
- // and a shared literals array or Smi(0) if none. |
- DECL_ACCESSORS(optimized_code_map, Object) |
+ // and a shared literals array. |
+ DECL_ACCESSORS(optimized_code_map, FixedArray) |
// Returns entry from optimized code map for specified context and OSR entry. |
// Note that {code == nullptr, literals == nullptr} indicates no matching |
@@ -6490,6 +6490,11 @@ class SharedFunctionInfo: public HeapObject { |
// Clear optimized code map. |
void ClearOptimizedCodeMap(); |
+ // We have a special root FixedArray with the right shape and values |
+ // to represent the cleared optimized code map. This predicate checks |
+ // if that root is installed. |
+ inline bool OptimizedCodeMapIsCleared() const; |
+ |
// Removes a specific optimized code object from the optimized code map. |
// In case of non-OSR the code reference is cleared from the cache entry but |
// the entry itself is left in the map in order to proceed sharing literals. |