Index: src/codegen.h |
diff --git a/src/codegen.h b/src/codegen.h |
index 1e87a1b9e7654feddd63ab869ad43a055733b609..f04158891f0c34087f3ae6a72e0b0d56636a562a 100644 |
--- a/src/codegen.h |
+++ b/src/codegen.h |
@@ -120,6 +120,33 @@ class ElementsTransitionGenerator : public AllStatic { |
static const int kNumberDictionaryProbes = 4; |
+class CodeAgingHelper { |
+ public: |
+ CodeAgingHelper(); |
+ |
+ uint32_t young_sequence_length() const { return young_sequence_.length(); } |
+ bool IsYoung(byte* candidate) const { |
+ return memcmp(candidate, |
+ young_sequence_.start(), |
+ young_sequence_.length()) == 0; |
+ } |
+ void CopyYoungSequenceTo(byte* new_buffer) const { |
+ CopyBytes(new_buffer, young_sequence_.start(), young_sequence_.length()); |
+ } |
+ |
+#ifdef DEBUG |
+ bool IsOld(byte* candidate) const; |
+#endif |
+ |
+ protected: |
+ const EmbeddedVector<byte, kNoCodeAgeSequenceLength> young_sequence_; |
+#ifdef DEBUG |
+#ifdef V8_TARGET_ARCH_ARM64 |
+ const EmbeddedVector<byte, kNoCodeAgeSequenceLength> old_sequence_; |
+#endif |
+#endif |
+}; |
+ |
} } // namespace v8::internal |
#endif // V8_CODEGEN_H_ |