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_DEBUG_LIVEEDIT_H_ | 5 #ifndef V8_DEBUG_LIVEEDIT_H_ |
6 #define V8_DEBUG_LIVEEDIT_H_ | 6 #define V8_DEBUG_LIVEEDIT_H_ |
7 | 7 |
8 | 8 |
9 // Live Edit feature implementation. | 9 // Live Edit feature implementation. |
10 // User should be able to change script on already running VM. This feature | 10 // User should be able to change script on already running VM. This feature |
(...skipping 28 matching lines...) Expand all Loading... |
39 // The primary interest of the Tracker is to record function scope structures | 39 // The primary interest of the Tracker is to record function scope structures |
40 // in order to analyze whether function code maybe safely patched (with new | 40 // in order to analyze whether function code maybe safely patched (with new |
41 // code successfully reading existing data from function scopes). The Tracker | 41 // code successfully reading existing data from function scopes). The Tracker |
42 // also collects compiled function codes. | 42 // also collects compiled function codes. |
43 class LiveEditFunctionTracker { | 43 class LiveEditFunctionTracker { |
44 public: | 44 public: |
45 explicit LiveEditFunctionTracker(Isolate* isolate, FunctionLiteral* fun); | 45 explicit LiveEditFunctionTracker(Isolate* isolate, FunctionLiteral* fun); |
46 ~LiveEditFunctionTracker(); | 46 ~LiveEditFunctionTracker(); |
47 void RecordFunctionInfo(Handle<SharedFunctionInfo> info, | 47 void RecordFunctionInfo(Handle<SharedFunctionInfo> info, |
48 FunctionLiteral* lit, Zone* zone); | 48 FunctionLiteral* lit, Zone* zone); |
49 void RecordRootFunctionInfo(Handle<Code> code); | |
50 | 49 |
51 static bool IsActive(Isolate* isolate); | 50 static bool IsActive(Isolate* isolate); |
52 | 51 |
53 private: | 52 private: |
54 Isolate* isolate_; | 53 Isolate* isolate_; |
55 }; | 54 }; |
56 | 55 |
57 | 56 |
58 class LiveEdit : AllStatic { | 57 class LiveEdit : AllStatic { |
59 public: | 58 public: |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 static const int kSharedInfoOffset_ = 3; | 356 static const int kSharedInfoOffset_ = 3; |
358 static const int kSize_ = 4; | 357 static const int kSize_ = 4; |
359 | 358 |
360 friend class JSArrayBasedStruct<SharedInfoWrapper>; | 359 friend class JSArrayBasedStruct<SharedInfoWrapper>; |
361 }; | 360 }; |
362 | 361 |
363 } // namespace internal | 362 } // namespace internal |
364 } // namespace v8 | 363 } // namespace v8 |
365 | 364 |
366 #endif /* V8_DEBUG_LIVEEDIT_H_ */ | 365 #endif /* V8_DEBUG_LIVEEDIT_H_ */ |
OLD | NEW |