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 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 void PreemptionWhileInDebugger(); | 232 void PreemptionWhileInDebugger(); |
233 void Iterate(ObjectVisitor* v); | 233 void Iterate(ObjectVisitor* v); |
234 | 234 |
235 NO_INLINE(void PutValuesOnStackAndDie(int start, | 235 NO_INLINE(void PutValuesOnStackAndDie(int start, |
236 Address c_entry_fp, | 236 Address c_entry_fp, |
237 Address last_fp, | 237 Address last_fp, |
238 Address larger_fp, | 238 Address larger_fp, |
239 int count, | 239 int count, |
240 int end)); | 240 int end)); |
241 Object* Break(Arguments args); | 241 Object* Break(Arguments args); |
242 void SetBreakPoint(Handle<JSFunction> function, | 242 void SetBreakPoint(Handle<SharedFunctionInfo> shared, |
243 Handle<Object> break_point_object, | 243 Handle<Object> break_point_object, |
244 int* source_position); | 244 int* source_position); |
245 bool SetBreakPointForScript(Handle<Script> script, | |
246 Handle<Object> break_point_object, | |
247 int* source_position); | |
248 void ClearBreakPoint(Handle<Object> break_point_object); | 245 void ClearBreakPoint(Handle<Object> break_point_object); |
249 void ClearAllBreakPoints(); | 246 void ClearAllBreakPoints(); |
250 void FloodWithOneShot(Handle<JSFunction> function); | 247 void FloodWithOneShot(Handle<SharedFunctionInfo> shared); |
251 void FloodBoundFunctionWithOneShot(Handle<JSFunction> function); | 248 void FloodBoundFunctionWithOneShot(Handle<JSFunction> function); |
252 void FloodHandlerWithOneShot(); | 249 void FloodHandlerWithOneShot(); |
253 void ChangeBreakOnException(ExceptionBreakType type, bool enable); | 250 void ChangeBreakOnException(ExceptionBreakType type, bool enable); |
254 bool IsBreakOnException(ExceptionBreakType type); | 251 bool IsBreakOnException(ExceptionBreakType type); |
255 void PrepareStep(StepAction step_action, int step_count); | 252 void PrepareStep(StepAction step_action, int step_count); |
256 void ClearStepping(); | 253 void ClearStepping(); |
257 void ClearStepOut(); | 254 void ClearStepOut(); |
258 bool IsStepping() { return thread_local_.step_count_ > 0; } | 255 bool IsStepping() { return thread_local_.step_count_ > 0; } |
259 bool StepNextContinue(BreakLocationIterator* break_location_iterator, | 256 bool StepNextContinue(BreakLocationIterator* break_location_iterator, |
260 JavaScriptFrame* frame); | 257 JavaScriptFrame* frame); |
261 static Handle<DebugInfo> GetDebugInfo(Handle<SharedFunctionInfo> shared); | 258 static Handle<DebugInfo> GetDebugInfo(Handle<SharedFunctionInfo> shared); |
262 static bool HasDebugInfo(Handle<SharedFunctionInfo> shared); | 259 static bool HasDebugInfo(Handle<SharedFunctionInfo> shared); |
263 | 260 |
264 void PrepareForBreakPoints(); | 261 void PrepareForBreakPoints(); |
265 | 262 |
266 // Returns whether the operation succeeded. Compilation can only be triggered | 263 // Returns whether the operation succeeded. |
267 // if a valid closure is passed as the second argument, otherwise the shared | 264 bool EnsureDebugInfo(Handle<SharedFunctionInfo> shared); |
268 // function needs to be compiled already. | |
269 bool EnsureDebugInfo(Handle<SharedFunctionInfo> shared, | |
270 Handle<JSFunction> function); | |
271 | 265 |
272 // Returns true if the current stub call is patched to call the debugger. | 266 // Returns true if the current stub call is patched to call the debugger. |
273 static bool IsDebugBreak(Address addr); | 267 static bool IsDebugBreak(Address addr); |
274 // Returns true if the current return statement has been patched to be | 268 // Returns true if the current return statement has been patched to be |
275 // a debugger breakpoint. | 269 // a debugger breakpoint. |
276 static bool IsDebugBreakAtReturn(RelocInfo* rinfo); | 270 static bool IsDebugBreakAtReturn(RelocInfo* rinfo); |
277 | 271 |
278 // Check whether a code stub with the specified major key is a possible break | 272 // Check whether a code stub with the specified major key is a possible break |
279 // point location. | 273 // point location. |
280 static bool IsSourceBreakStub(Code* code); | 274 static bool IsSourceBreakStub(Code* code); |
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1041 | 1035 |
1042 DISALLOW_COPY_AND_ASSIGN(MessageDispatchHelperThread); | 1036 DISALLOW_COPY_AND_ASSIGN(MessageDispatchHelperThread); |
1043 }; | 1037 }; |
1044 | 1038 |
1045 | 1039 |
1046 } } // namespace v8::internal | 1040 } } // namespace v8::internal |
1047 | 1041 |
1048 #endif // ENABLE_DEBUGGER_SUPPORT | 1042 #endif // ENABLE_DEBUGGER_SUPPORT |
1049 | 1043 |
1050 #endif // V8_DEBUG_H_ | 1044 #endif // V8_DEBUG_H_ |
OLD | NEW |