Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 46d65b14590035fa238674a7a2d2ef1245dfd40e..f8d6194f87952dad8d5b0b5ed98d12a4ab590f94 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -5144,11 +5144,15 @@ class Code: public HeapObject { |
#define DECLARE_CODE_AGE_ENUM(X) k##X##CodeAge, |
enum Age { |
+ kNotExecutedCodeAge = -2, |
+ kExecutedOnceCodeAge = -1, |
kNoAge = 0, |
CODE_AGE_LIST(DECLARE_CODE_AGE_ENUM) |
kAfterLastCodeAge, |
kLastCodeAge = kAfterLastCodeAge - 1, |
- kCodeAgeCount = kAfterLastCodeAge - 1 |
+ kCodeAgeCount = kAfterLastCodeAge - 1, |
+ kPreAgedCodeAge = kQuinquagenarianCodeAge, |
danno
2013/09/26 16:29:06
// This is probably clearer if it is kIsOldCodeAge
rmcilroy
2013/09/30 19:38:43
Done.
|
+ kIsOldCodeAge = kSexagenarianCodeAge |
}; |
#undef DECLARE_CODE_AGE_ENUM |
@@ -5157,10 +5161,14 @@ class Code: public HeapObject { |
// relatively safe to flush this code object and replace it with the lazy |
// compilation stub. |
static void MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate); |
+ static void MarkCodeAsExecuted(byte* sequence, Isolate* isolate); |
void MakeOlder(MarkingParity); |
static bool IsYoungSequence(byte* sequence); |
bool IsOld(); |
- int GetAge(); |
+ Age GetAge(); |
+ static inline Code* GetPreAgedCodeAgeStub(Isolate* isolate) { |
+ return GetCodeAgeStub(isolate, kNotExecutedCodeAge, NO_MARKING_PARITY); |
+ } |
void PrintDeoptLocation(int bailout_id); |
bool CanDeoptAt(Address pc); |