OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
44 explicit RuntimeProfiler(Isolate* isolate); | 44 explicit RuntimeProfiler(Isolate* isolate); |
45 | 45 |
46 void OptimizeNow(); | 46 void OptimizeNow(); |
47 | 47 |
48 void SetUp(); | 48 void SetUp(); |
49 void Reset(); | 49 void Reset(); |
50 void TearDown(); | 50 void TearDown(); |
51 | 51 |
52 void NotifyICChanged() { any_ic_changed_ = true; } | 52 void NotifyICChanged() { any_ic_changed_ = true; } |
53 | 53 |
54 // Rate limiting support. | |
55 | |
56 void UpdateSamplesAfterScavenge(); | |
57 void RemoveDeadSamples(); | |
58 void UpdateSamplesAfterCompact(ObjectVisitor* visitor); | |
59 | |
60 void AttemptOnStackReplacement(JSFunction* function); | 54 void AttemptOnStackReplacement(JSFunction* function); |
61 | 55 |
62 private: | 56 private: |
63 static const int kSamplerWindowSize = 16; | |
64 | |
65 void Optimize(JSFunction* function, const char* reason); | 57 void Optimize(JSFunction* function, const char* reason); |
66 | 58 |
67 void ClearSampleBuffer(); | |
68 | |
69 void ClearSampleBufferNewSpaceEntries(); | |
70 | |
71 int LookupSample(JSFunction* function); | |
72 | |
73 void AddSample(JSFunction* function, int weight); | |
74 | |
75 bool CodeSizeOKForOSR(Code* shared_code); | 59 bool CodeSizeOKForOSR(Code* shared_code); |
76 | 60 |
77 Isolate* isolate_; | 61 Isolate* isolate_; |
78 | 62 |
79 int sampler_threshold_; | |
80 int sampler_threshold_size_factor_; | |
81 int sampler_ticks_until_threshold_adjustment_; | |
82 | |
83 Object* sampler_window_[kSamplerWindowSize]; | |
84 int sampler_window_position_; | |
85 int sampler_window_weight_[kSamplerWindowSize]; | |
86 | |
87 bool any_ic_changed_; | 63 bool any_ic_changed_; |
88 bool code_generated_; | 64 bool code_generated_; |
Yang
2013/12/05 12:26:59
This seems to be unused as well.
Jakob Kummerow
2013/12/05 12:31:51
Done.
| |
89 }; | 65 }; |
90 | 66 |
91 } } // namespace v8::internal | 67 } } // namespace v8::internal |
92 | 68 |
93 #endif // V8_RUNTIME_PROFILER_H_ | 69 #endif // V8_RUNTIME_PROFILER_H_ |
OLD | NEW |