Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(561)

Side by Side Diff: src/debug.h

Issue 12472: Added a debugger call to run a JavaScript function in the debugger. When call... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 12 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/api.cc ('k') | src/debug.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 static void OnBeforeCompile(Handle<Script> script); 351 static void OnBeforeCompile(Handle<Script> script);
352 static void OnAfterCompile(Handle<Script> script, 352 static void OnAfterCompile(Handle<Script> script,
353 Handle<JSFunction> fun); 353 Handle<JSFunction> fun);
354 static void OnNewFunction(Handle<JSFunction> fun); 354 static void OnNewFunction(Handle<JSFunction> fun);
355 static void ProcessDebugEvent(v8::DebugEvent event, 355 static void ProcessDebugEvent(v8::DebugEvent event,
356 Handle<Object> event_data); 356 Handle<Object> event_data);
357 static void SetMessageHandler(v8::DebugMessageHandler handler, void* data); 357 static void SetMessageHandler(v8::DebugMessageHandler handler, void* data);
358 static void SendMessage(Vector<uint16_t> message); 358 static void SendMessage(Vector<uint16_t> message);
359 static void ProcessCommand(Vector<const uint16_t> command); 359 static void ProcessCommand(Vector<const uint16_t> command);
360 static void UpdateActiveDebugger(); 360 static void UpdateActiveDebugger();
361 static Handle<Object> Call(Handle<JSFunction> fun,
362 Handle<Object> data,
363 bool* pending_exception);
364
361 inline static bool EventActive(v8::DebugEvent event) { 365 inline static bool EventActive(v8::DebugEvent event) {
362 // Currently argument event is not used. 366 // Currently argument event is not used.
363 return !Debugger::compiling_natives_ && Debugger::debugger_active_; 367 return !Debugger::compiling_natives_ && Debugger::debugger_active_;
364 } 368 }
365 369
366 static void set_debugger_active(bool debugger_active) { 370 static void set_debugger_active(bool debugger_active) {
367 Debugger::debugger_active_ = debugger_active; 371 Debugger::debugger_active_ = debugger_active;
368 } 372 }
369 static bool debugger_active() { return Debugger::debugger_active_; } 373 static bool debugger_active() { return Debugger::debugger_active_; }
370 static void set_compiling_natives(bool compiling_natives) { 374 static void set_compiling_natives(bool compiling_natives) {
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 ~EnterDebugger() { 501 ~EnterDebugger() {
498 if (set_) { 502 if (set_) {
499 // Restore to the previous break state. 503 // Restore to the previous break state.
500 Top::set_break(break_frame_id_, break_id_); 504 Top::set_break(break_frame_id_, break_id_);
501 } 505 }
502 } 506 }
503 507
504 // Check whether the debugger could be entered. 508 // Check whether the debugger could be entered.
505 inline bool FailedToEnter() { return load_failed_; } 509 inline bool FailedToEnter() { return load_failed_; }
506 510
511 // Check whether there are any JavaScript frames on the stack.
512 inline bool HasJavaScriptFrames() { return set_; }
513
507 private: 514 private:
508 JavaScriptFrameIterator it_; 515 JavaScriptFrameIterator it_;
509 const bool set_; // Was the break actually set? 516 const bool set_; // Was the break actually set?
510 StackFrame::Id break_frame_id_; // Previous break frame id. 517 StackFrame::Id break_frame_id_; // Previous break frame id.
511 int break_id_; // Previous break id. 518 int break_id_; // Previous break id.
512 bool load_failed_; // Did the debugger fail to load? 519 bool load_failed_; // Did the debugger fail to load?
513 SaveContext save_; // Saves previous context. 520 SaveContext save_; // Saves previous context.
514 }; 521 };
515 522
516 523
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
570 } 577 }
571 private: 578 private:
572 Debug::AddressId id_; 579 Debug::AddressId id_;
573 int reg_; 580 int reg_;
574 }; 581 };
575 582
576 583
577 } } // namespace v8::internal 584 } } // namespace v8::internal
578 585
579 #endif // V8_V8_DEBUG_H_ 586 #endif // V8_V8_DEBUG_H_
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698