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

Side by Side Diff: src/debug.h

Issue 1118007: LiveEdit: implement frame dropping (Closed)
Patch Set: adding rule to mjsunit.status Created 10 years, 8 months 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
« no previous file with comments | « src/builtins.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 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 static void AfterGarbageCollection(); 370 static void AfterGarbageCollection();
371 371
372 // Code generator routines. 372 // Code generator routines.
373 static void GenerateLoadICDebugBreak(MacroAssembler* masm); 373 static void GenerateLoadICDebugBreak(MacroAssembler* masm);
374 static void GenerateStoreICDebugBreak(MacroAssembler* masm); 374 static void GenerateStoreICDebugBreak(MacroAssembler* masm);
375 static void GenerateKeyedLoadICDebugBreak(MacroAssembler* masm); 375 static void GenerateKeyedLoadICDebugBreak(MacroAssembler* masm);
376 static void GenerateKeyedStoreICDebugBreak(MacroAssembler* masm); 376 static void GenerateKeyedStoreICDebugBreak(MacroAssembler* masm);
377 static void GenerateConstructCallDebugBreak(MacroAssembler* masm); 377 static void GenerateConstructCallDebugBreak(MacroAssembler* masm);
378 static void GenerateReturnDebugBreak(MacroAssembler* masm); 378 static void GenerateReturnDebugBreak(MacroAssembler* masm);
379 static void GenerateStubNoRegistersDebugBreak(MacroAssembler* masm); 379 static void GenerateStubNoRegistersDebugBreak(MacroAssembler* masm);
380 static void GeneratePlainReturnLiveEdit(MacroAssembler* masm);
381 static void GenerateFrameDropperLiveEdit(MacroAssembler* masm);
380 382
381 // Called from stub-cache.cc. 383 // Called from stub-cache.cc.
382 static void GenerateCallICDebugBreak(MacroAssembler* masm); 384 static void GenerateCallICDebugBreak(MacroAssembler* masm);
383 385
386 static void FramesHaveBeenDropped(StackFrame::Id new_break_frame_id);
387
388 static void SetUpFrameDropperFrame(StackFrame* bottom_js_frame,
389 Handle<Code> code);
390 static const int kFrameDropperFrameSize;
391
384 private: 392 private:
385 static bool CompileDebuggerScript(int index); 393 static bool CompileDebuggerScript(int index);
386 static void ClearOneShot(); 394 static void ClearOneShot();
387 static void ActivateStepIn(StackFrame* frame); 395 static void ActivateStepIn(StackFrame* frame);
388 static void ClearStepIn(); 396 static void ClearStepIn();
389 static void ActivateStepOut(StackFrame* frame); 397 static void ActivateStepOut(StackFrame* frame);
390 static void ClearStepOut(); 398 static void ClearStepOut();
391 static void ClearStepNext(); 399 static void ClearStepNext();
392 // Returns whether the compile succeeded. 400 // Returns whether the compile succeeded.
393 static void RemoveDebugInfo(Handle<DebugInfo> debug_info); 401 static void RemoveDebugInfo(Handle<DebugInfo> debug_info);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 // Frame pointer for frame from which step in was performed. 447 // Frame pointer for frame from which step in was performed.
440 Address step_into_fp_; 448 Address step_into_fp_;
441 449
442 // Frame pointer for the frame where debugger should be called when current 450 // Frame pointer for the frame where debugger should be called when current
443 // step out action is completed. 451 // step out action is completed.
444 Address step_out_fp_; 452 Address step_out_fp_;
445 453
446 // Storage location for jump when exiting debug break calls. 454 // Storage location for jump when exiting debug break calls.
447 Address after_break_target_; 455 Address after_break_target_;
448 456
457 // Indicates that LiveEdit has patched the stack.
458 bool frames_are_dropped_;
459
449 // Top debugger entry. 460 // Top debugger entry.
450 EnterDebugger* debugger_entry_; 461 EnterDebugger* debugger_entry_;
451 462
452 // Pending interrupts scheduled while debugging. 463 // Pending interrupts scheduled while debugging.
453 int pending_interrupts_; 464 int pending_interrupts_;
454 }; 465 };
455 466
456 // Storage location for registers when handling debug break calls 467 // Storage location for registers when handling debug break calls
457 static JSCallerSavedBuffer registers_; 468 static JSCallerSavedBuffer registers_;
458 static ThreadLocal thread_local_; 469 static ThreadLocal thread_local_;
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 902
892 DISALLOW_COPY_AND_ASSIGN(MessageDispatchHelperThread); 903 DISALLOW_COPY_AND_ASSIGN(MessageDispatchHelperThread);
893 }; 904 };
894 905
895 906
896 } } // namespace v8::internal 907 } } // namespace v8::internal
897 908
898 #endif // ENABLE_DEBUGGER_SUPPORT 909 #endif // ENABLE_DEBUGGER_SUPPORT
899 910
900 #endif // V8_DEBUG_H_ 911 #endif // V8_DEBUG_H_
OLDNEW
« no previous file with comments | « src/builtins.cc ('k') | src/debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698