| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 0d1b2510cdde6539967242941ad0f320165e9920..334c143acfedfd25a22494fa6dc8c95cd0711548 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -5196,11 +5196,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,
|
| + kIsOldCodeAge = kSexagenarianCodeAge,
|
| + kPreAgedCodeAge = kIsOldCodeAge - 1
|
| };
|
| #undef DECLARE_CODE_AGE_ENUM
|
|
|
| @@ -5209,10 +5213,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);
|
|
|