OLD | NEW |
---|---|
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/arguments.h" | 8 #include "src/arguments.h" |
9 #include "src/debug.h" | 9 #include "src/debug.h" |
10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
11 #include "src/isolate-inl.h" | 11 #include "src/isolate-inl.h" |
12 #include "src/messages.h" | |
12 #include "src/parser.h" | 13 #include "src/parser.h" |
14 #include "src/prettyprinter.h" | |
13 #include "src/runtime/runtime.h" | 15 #include "src/runtime/runtime.h" |
14 #include "src/runtime/runtime-utils.h" | 16 #include "src/runtime/runtime-utils.h" |
15 | 17 |
16 namespace v8 { | 18 namespace v8 { |
17 namespace internal { | 19 namespace internal { |
18 | 20 |
19 RUNTIME_FUNCTION(Runtime_DebugBreak) { | 21 RUNTIME_FUNCTION(Runtime_DebugBreak) { |
20 SealHandleScope shs(isolate); | 22 SealHandleScope shs(isolate); |
21 DCHECK(args.length() == 0); | 23 DCHECK(args.length() == 0); |
22 isolate->debug()->HandleDebugBreak(); | 24 isolate->debug()->HandleDebugBreak(); |
(...skipping 2697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2720 break; | 2722 break; |
2721 } | 2723 } |
2722 } | 2724 } |
2723 } | 2725 } |
2724 | 2726 |
2725 if (found.is_null()) return heap->undefined_value(); | 2727 if (found.is_null()) return heap->undefined_value(); |
2726 return *Script::GetWrapper(found); | 2728 return *Script::GetWrapper(found); |
2727 } | 2729 } |
2728 | 2730 |
2729 | 2731 |
2732 RUNTIME_FUNCTION(Runtime_RenderCallSite) { | |
Yang
2015/01/20 08:19:07
Nit: runtime-debug.cc is used for debugger related
| |
2733 HandleScope scope(isolate); | |
2734 DCHECK(args.length() == 0); | |
2735 MessageLocation location; | |
2736 isolate->ComputeLocation(&location); | |
2737 if (location.start_pos() == -1) return isolate->heap()->empty_string(); | |
2738 CompilationInfoWithZone info(location.script()); | |
Yang
2015/01/20 08:19:07
If you could get the JSFunction from within Comput
| |
2739 if (!Parser::Parse(&info)) return isolate->heap()->empty_string(); | |
2740 Zone zone(isolate); | |
2741 CallPrinter printer(&zone); | |
2742 const char* string = printer.Print(info.function(), location.start_pos()); | |
2743 return *isolate->factory()->NewStringFromAsciiChecked(string); | |
2744 } | |
2745 | |
2746 | |
2730 // Check whether debugger and is about to step into the callback that is passed | 2747 // Check whether debugger and is about to step into the callback that is passed |
2731 // to a built-in function such as Array.forEach. | 2748 // to a built-in function such as Array.forEach. |
2732 RUNTIME_FUNCTION(Runtime_DebugCallbackSupportsStepping) { | 2749 RUNTIME_FUNCTION(Runtime_DebugCallbackSupportsStepping) { |
2733 DCHECK(args.length() == 1); | 2750 DCHECK(args.length() == 1); |
2734 Debug* debug = isolate->debug(); | 2751 Debug* debug = isolate->debug(); |
2735 if (!debug->is_active() || !debug->IsStepping() || | 2752 if (!debug->is_active() || !debug->IsStepping() || |
2736 debug->last_step_action() != StepIn) { | 2753 debug->last_step_action() != StepIn) { |
2737 return isolate->heap()->false_value(); | 2754 return isolate->heap()->false_value(); |
2738 } | 2755 } |
2739 CONVERT_ARG_CHECKED(Object, callback, 0); | 2756 CONVERT_ARG_CHECKED(Object, callback, 0); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2809 return Smi::FromInt(isolate->debug()->is_active()); | 2826 return Smi::FromInt(isolate->debug()->is_active()); |
2810 } | 2827 } |
2811 | 2828 |
2812 | 2829 |
2813 RUNTIME_FUNCTION(RuntimeReference_DebugBreakInOptimizedCode) { | 2830 RUNTIME_FUNCTION(RuntimeReference_DebugBreakInOptimizedCode) { |
2814 UNIMPLEMENTED(); | 2831 UNIMPLEMENTED(); |
2815 return NULL; | 2832 return NULL; |
2816 } | 2833 } |
2817 } | 2834 } |
2818 } // namespace v8::internal | 2835 } // namespace v8::internal |
OLD | NEW |