OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include "allocation.h" | 8 #include "allocation.h" |
9 #include "assert-scope.h" | 9 #include "assert-scope.h" |
10 #include "builtins.h" | 10 #include "builtins.h" |
(...skipping 5608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5619 }; | 5619 }; |
5620 #undef DECLARE_CODE_AGE_ENUM | 5620 #undef DECLARE_CODE_AGE_ENUM |
5621 | 5621 |
5622 // Code aging. Indicates how many full GCs this code has survived without | 5622 // Code aging. Indicates how many full GCs this code has survived without |
5623 // being entered through the prologue. Used to determine when it is | 5623 // being entered through the prologue. Used to determine when it is |
5624 // relatively safe to flush this code object and replace it with the lazy | 5624 // relatively safe to flush this code object and replace it with the lazy |
5625 // compilation stub. | 5625 // compilation stub. |
5626 static void MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate); | 5626 static void MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate); |
5627 static void MarkCodeAsExecuted(byte* sequence, Isolate* isolate); | 5627 static void MarkCodeAsExecuted(byte* sequence, Isolate* isolate); |
5628 void MakeOlder(MarkingParity); | 5628 void MakeOlder(MarkingParity); |
5629 static bool IsYoungSequence(byte* sequence); | 5629 static bool IsYoungSequence(Isolate* isolate, byte* sequence); |
5630 bool IsOld(); | 5630 bool IsOld(); |
5631 Age GetAge(); | 5631 Age GetAge(); |
5632 // Gets the raw code age, including psuedo code-age values such as | 5632 // Gets the raw code age, including psuedo code-age values such as |
5633 // kNotExecutedCodeAge and kExecutedOnceCodeAge. | 5633 // kNotExecutedCodeAge and kExecutedOnceCodeAge. |
5634 Age GetRawAge(); | 5634 Age GetRawAge(); |
5635 static inline Code* GetPreAgedCodeAgeStub(Isolate* isolate) { | 5635 static inline Code* GetPreAgedCodeAgeStub(Isolate* isolate) { |
5636 return GetCodeAgeStub(isolate, kNotExecutedCodeAge, NO_MARKING_PARITY); | 5636 return GetCodeAgeStub(isolate, kNotExecutedCodeAge, NO_MARKING_PARITY); |
5637 } | 5637 } |
5638 | 5638 |
5639 void PrintDeoptLocation(FILE* out, int bailout_id); | 5639 void PrintDeoptLocation(FILE* out, int bailout_id); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5781 private: | 5781 private: |
5782 friend class RelocIterator; | 5782 friend class RelocIterator; |
5783 friend class Deoptimizer; // For FindCodeAgeSequence. | 5783 friend class Deoptimizer; // For FindCodeAgeSequence. |
5784 | 5784 |
5785 void ClearInlineCaches(Kind* kind); | 5785 void ClearInlineCaches(Kind* kind); |
5786 | 5786 |
5787 // Code aging | 5787 // Code aging |
5788 byte* FindCodeAgeSequence(); | 5788 byte* FindCodeAgeSequence(); |
5789 static void GetCodeAgeAndParity(Code* code, Age* age, | 5789 static void GetCodeAgeAndParity(Code* code, Age* age, |
5790 MarkingParity* parity); | 5790 MarkingParity* parity); |
5791 static void GetCodeAgeAndParity(byte* sequence, Age* age, | 5791 static void GetCodeAgeAndParity(Isolate* isolate, byte* sequence, Age* age, |
5792 MarkingParity* parity); | 5792 MarkingParity* parity); |
5793 static Code* GetCodeAgeStub(Isolate* isolate, Age age, MarkingParity parity); | 5793 static Code* GetCodeAgeStub(Isolate* isolate, Age age, MarkingParity parity); |
5794 | 5794 |
5795 // Code aging -- platform-specific | 5795 // Code aging -- platform-specific |
5796 static void PatchPlatformCodeAge(Isolate* isolate, | 5796 static void PatchPlatformCodeAge(Isolate* isolate, |
5797 byte* sequence, Age age, | 5797 byte* sequence, Age age, |
5798 MarkingParity parity); | 5798 MarkingParity parity); |
5799 | 5799 |
5800 DISALLOW_IMPLICIT_CONSTRUCTORS(Code); | 5800 DISALLOW_IMPLICIT_CONSTRUCTORS(Code); |
5801 }; | 5801 }; |
(...skipping 5305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11107 } else { | 11107 } else { |
11108 value &= ~(1 << bit_position); | 11108 value &= ~(1 << bit_position); |
11109 } | 11109 } |
11110 return value; | 11110 return value; |
11111 } | 11111 } |
11112 }; | 11112 }; |
11113 | 11113 |
11114 } } // namespace v8::internal | 11114 } } // namespace v8::internal |
11115 | 11115 |
11116 #endif // V8_OBJECTS_H_ | 11116 #endif // V8_OBJECTS_H_ |
OLD | NEW |