Chromium Code Reviews| 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); |