| 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_RUNTIME_PROFILER_H_ | 5 #ifndef V8_RUNTIME_PROFILER_H_ | 
| 6 #define V8_RUNTIME_PROFILER_H_ | 6 #define V8_RUNTIME_PROFILER_H_ | 
| 7 | 7 | 
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" | 
| 9 | 9 | 
| 10 namespace v8 { | 10 namespace v8 { | 
| 11 namespace internal { | 11 namespace internal { | 
| 12 | 12 | 
| 13 class Isolate; | 13 class Isolate; | 
| 14 class JSFunction; | 14 class JSFunction; | 
| 15 | 15 | 
| 16 class RuntimeProfiler { | 16 class RuntimeProfiler { | 
| 17  public: | 17  public: | 
| 18   explicit RuntimeProfiler(Isolate* isolate); | 18   explicit RuntimeProfiler(Isolate* isolate); | 
| 19 | 19 | 
| 20   void MarkCandidatesForOptimization(); | 20   void MarkCandidatesForOptimization(); | 
| 21 | 21 | 
| 22   void NotifyICChanged() { any_ic_changed_ = true; } | 22   void NotifyICChanged() { any_ic_changed_ = true; } | 
| 23 | 23 | 
| 24   void AttemptOnStackReplacement(JSFunction* function, int nesting_levels = 1); | 24   void AttemptOnStackReplacement(JSFunction* function, int nesting_levels = 1); | 
| 25 | 25 | 
| 26  private: | 26  private: | 
| 27   void MaybeOptimizeFullCodegen(JSFunction* function, int frame_count, | 27   void MaybeOptimizeFullCodegen(JSFunction* function, int frame_count, | 
| 28                                 bool frame_optimized); | 28                                 bool frame_optimized); | 
| 29   void MaybeOptimizeIgnition(JSFunction* function, bool frame_optimized); | 29   void MaybeOptimizeIgnition(JSFunction* function); | 
| 30   void Optimize(JSFunction* function, const char* reason); | 30   void Optimize(JSFunction* function, const char* reason); | 
|  | 31   void Baseline(JSFunction* function, const char* reason); | 
| 31 | 32 | 
| 32   bool CodeSizeOKForOSR(Code* shared_code); | 33   bool CodeSizeOKForOSR(Code* shared_code); | 
| 33 | 34 | 
| 34   Isolate* isolate_; | 35   Isolate* isolate_; | 
| 35 | 36 | 
| 36   bool any_ic_changed_; | 37   bool any_ic_changed_; | 
| 37 }; | 38 }; | 
| 38 | 39 | 
| 39 }  // namespace internal | 40 }  // namespace internal | 
| 40 }  // namespace v8 | 41 }  // namespace v8 | 
| 41 | 42 | 
| 42 #endif  // V8_RUNTIME_PROFILER_H_ | 43 #endif  // V8_RUNTIME_PROFILER_H_ | 
| OLD | NEW | 
|---|