OLD | NEW |
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 971 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
982 } else if (thread_local_.frame_drop_mode_ == | 982 } else if (thread_local_.frame_drop_mode_ == |
983 FRAME_DROPPED_IN_DEBUG_SLOT_CALL) { | 983 FRAME_DROPPED_IN_DEBUG_SLOT_CALL) { |
984 // Debug break slot stub does not return normally, instead it manually | 984 // Debug break slot stub does not return normally, instead it manually |
985 // cleans the stack and jumps. We should patch the jump address. | 985 // cleans the stack and jumps. We should patch the jump address. |
986 Code* plain_return = isolate_->builtins()->builtin( | 986 Code* plain_return = isolate_->builtins()->builtin( |
987 Builtins::kFrameDropper_LiveEdit); | 987 Builtins::kFrameDropper_LiveEdit); |
988 thread_local_.after_break_target_ = plain_return->entry(); | 988 thread_local_.after_break_target_ = plain_return->entry(); |
989 } else if (thread_local_.frame_drop_mode_ == | 989 } else if (thread_local_.frame_drop_mode_ == |
990 FRAME_DROPPED_IN_DIRECT_CALL) { | 990 FRAME_DROPPED_IN_DIRECT_CALL) { |
991 // Nothing to do, after_break_target is not used here. | 991 // Nothing to do, after_break_target is not used here. |
| 992 } else if (thread_local_.frame_drop_mode_ == |
| 993 FRAME_DROPPED_IN_RETURN_CALL) { |
| 994 Code* plain_return = isolate_->builtins()->builtin( |
| 995 Builtins::kFrameDropper_LiveEdit); |
| 996 thread_local_.after_break_target_ = plain_return->entry(); |
992 } else { | 997 } else { |
993 UNREACHABLE(); | 998 UNREACHABLE(); |
994 } | 999 } |
995 | 1000 |
996 return heap->undefined_value(); | 1001 return heap->undefined_value(); |
997 } | 1002 } |
998 | 1003 |
999 | 1004 |
1000 RUNTIME_FUNCTION(Object*, Debug_Break) { | 1005 RUNTIME_FUNCTION(Object*, Debug_Break) { |
1001 return isolate->debug()->Break(args); | 1006 return isolate->debug()->Break(args); |
(...skipping 2148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3150 { | 3155 { |
3151 Locker locker; | 3156 Locker locker; |
3152 Isolate::Current()->debugger()->CallMessageDispatchHandler(); | 3157 Isolate::Current()->debugger()->CallMessageDispatchHandler(); |
3153 } | 3158 } |
3154 } | 3159 } |
3155 } | 3160 } |
3156 | 3161 |
3157 #endif // ENABLE_DEBUGGER_SUPPORT | 3162 #endif // ENABLE_DEBUGGER_SUPPORT |
3158 | 3163 |
3159 } } // namespace v8::internal | 3164 } } // namespace v8::internal |
OLD | NEW |