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

Side by Side Diff: src/debug.cc

Issue 2848032: Clear function breakpoints in Debug::HandleWeakDebugInfo callback. (Closed)
Patch Set: Created 10 years, 5 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 | « no previous file | test/cctest/test-debug.cc » ('j') | test/cctest/test-debug.cc » ('J')
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 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 ASSERT(debug_break_return_->IsCode()); 676 ASSERT(debug_break_return_->IsCode());
677 // Get code to handle debug break in debug break slots. 677 // Get code to handle debug break in debug break slots.
678 debug_break_slot_ = 678 debug_break_slot_ =
679 Builtins::builtin(Builtins::Slot_DebugBreak); 679 Builtins::builtin(Builtins::Slot_DebugBreak);
680 ASSERT(debug_break_slot_->IsCode()); 680 ASSERT(debug_break_slot_->IsCode());
681 } 681 }
682 } 682 }
683 683
684 684
685 void Debug::HandleWeakDebugInfo(v8::Persistent<v8::Value> obj, void* data) { 685 void Debug::HandleWeakDebugInfo(v8::Persistent<v8::Value> obj, void* data) {
686 DebugInfoListNode* node = reinterpret_cast<DebugInfoListNode*>(data); 686 DebugInfoListNode* node = reinterpret_cast<DebugInfoListNode*>(data);
Søren Thygesen Gjesse 2010/06/30 11:52:23 Please add a comment on why this is required.
687 BreakLocationIterator it(node->debug_info(), ALL_BREAK_LOCATIONS);
688 it.ClearAllDebugBreak();
687 RemoveDebugInfo(node->debug_info()); 689 RemoveDebugInfo(node->debug_info());
688 #ifdef DEBUG 690 #ifdef DEBUG
689 node = Debug::debug_info_list_; 691 node = Debug::debug_info_list_;
690 while (node != NULL) { 692 while (node != NULL) {
691 ASSERT(node != reinterpret_cast<DebugInfoListNode*>(data)); 693 ASSERT(node != reinterpret_cast<DebugInfoListNode*>(data));
692 node = node->next(); 694 node = node->next();
693 } 695 }
694 #endif 696 #endif
695 } 697 }
696 698
(...skipping 2225 matching lines...) Expand 10 before | Expand all | Expand 10 after
2922 { 2924 {
2923 Locker locker; 2925 Locker locker;
2924 Debugger::CallMessageDispatchHandler(); 2926 Debugger::CallMessageDispatchHandler();
2925 } 2927 }
2926 } 2928 }
2927 } 2929 }
2928 2930
2929 #endif // ENABLE_DEBUGGER_SUPPORT 2931 #endif // ENABLE_DEBUGGER_SUPPORT
2930 2932
2931 } } // namespace v8::internal 2933 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | test/cctest/test-debug.cc » ('j') | test/cctest/test-debug.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698