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_LIVEEDIT_H_ | 5 #ifndef V8_DEBUG_LIVEEDIT_H_ |
6 #define V8_LIVEEDIT_H_ | 6 #define V8_DEBUG_LIVEEDIT_H_ |
7 | |
8 | 7 |
9 | 8 |
10 // Live Edit feature implementation. | 9 // Live Edit feature implementation. |
11 // 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 |
12 // matches hot swap features in other frameworks. | 11 // matches hot swap features in other frameworks. |
13 // | 12 // |
14 // The basic use-case is when user spots some mistake in function body | 13 // The basic use-case is when user spots some mistake in function body |
15 // from debugger and wishes to change the algorithm without restart. | 14 // from debugger and wishes to change the algorithm without restart. |
16 // | 15 // |
17 // A single change always has a form of a simple replacement (in pseudo-code): | 16 // A single change always has a form of a simple replacement (in pseudo-code): |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 // contain general error message. Modifies the current stack and | 118 // contain general error message. Modifies the current stack and |
120 // has restart the lowest found frames and drops all other frames above | 119 // has restart the lowest found frames and drops all other frames above |
121 // if possible and if do_drop is true. | 120 // if possible and if do_drop is true. |
122 static Handle<JSArray> CheckAndDropActivations( | 121 static Handle<JSArray> CheckAndDropActivations( |
123 Handle<JSArray> shared_info_array, bool do_drop); | 122 Handle<JSArray> shared_info_array, bool do_drop); |
124 | 123 |
125 // Restarts the call frame and completely drops all frames above it. | 124 // Restarts the call frame and completely drops all frames above it. |
126 // Return error message or NULL. | 125 // Return error message or NULL. |
127 static const char* RestartFrame(JavaScriptFrame* frame); | 126 static const char* RestartFrame(JavaScriptFrame* frame); |
128 | 127 |
129 // A copy of this is in liveedit-debugger.js. | 128 // A copy of this is in liveedit.js. |
130 enum FunctionPatchabilityStatus { | 129 enum FunctionPatchabilityStatus { |
131 FUNCTION_AVAILABLE_FOR_PATCH = 1, | 130 FUNCTION_AVAILABLE_FOR_PATCH = 1, |
132 FUNCTION_BLOCKED_ON_ACTIVE_STACK = 2, | 131 FUNCTION_BLOCKED_ON_ACTIVE_STACK = 2, |
133 FUNCTION_BLOCKED_ON_OTHER_STACK = 3, | 132 FUNCTION_BLOCKED_ON_OTHER_STACK = 3, |
134 FUNCTION_BLOCKED_UNDER_NATIVE_CODE = 4, | 133 FUNCTION_BLOCKED_UNDER_NATIVE_CODE = 4, |
135 FUNCTION_REPLACED_ON_ACTIVE_STACK = 5, | 134 FUNCTION_REPLACED_ON_ACTIVE_STACK = 5, |
136 FUNCTION_BLOCKED_UNDER_GENERATOR = 6, | 135 FUNCTION_BLOCKED_UNDER_GENERATOR = 6, |
137 FUNCTION_BLOCKED_ACTIVE_GENERATOR = 7 | 136 FUNCTION_BLOCKED_ACTIVE_GENERATOR = 7 |
138 }; | 137 }; |
139 | 138 |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 static const int kStartPositionOffset_ = 1; | 361 static const int kStartPositionOffset_ = 1; |
363 static const int kEndPositionOffset_ = 2; | 362 static const int kEndPositionOffset_ = 2; |
364 static const int kSharedInfoOffset_ = 3; | 363 static const int kSharedInfoOffset_ = 3; |
365 static const int kSize_ = 4; | 364 static const int kSize_ = 4; |
366 | 365 |
367 friend class JSArrayBasedStruct<SharedInfoWrapper>; | 366 friend class JSArrayBasedStruct<SharedInfoWrapper>; |
368 }; | 367 }; |
369 | 368 |
370 } } // namespace v8::internal | 369 } } // namespace v8::internal |
371 | 370 |
372 #endif /* V*_LIVEEDIT_H_ */ | 371 #endif /* V8_DEBUG_LIVEEDIT_H_ */ |
OLD | NEW |