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

Side by Side Diff: src/runtime.cc

Issue 300553008: Some debugger-related clean-ups and renamings. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « src/mark-compact.cc ('k') | test/cctest/test-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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 <stdlib.h> 5 #include <stdlib.h>
6 #include <limits> 6 #include <limits>
7 7
8 #include "v8.h" 8 #include "v8.h"
9 9
10 #include "accessors.h" 10 #include "accessors.h"
(...skipping 10705 matching lines...) Expand 10 before | Expand all | Expand 10 after
10716 ASSIGN_RETURN_FAILURE_ON_EXCEPTION( 10716 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
10717 isolate, result, 10717 isolate, result,
10718 JSObject::GetAccessor(Handle<JSObject>::cast(receiver), name, component)); 10718 JSObject::GetAccessor(Handle<JSObject>::cast(receiver), name, component));
10719 return *result; 10719 return *result;
10720 } 10720 }
10721 10721
10722 10722
10723 RUNTIME_FUNCTION(Runtime_DebugBreak) { 10723 RUNTIME_FUNCTION(Runtime_DebugBreak) {
10724 SealHandleScope shs(isolate); 10724 SealHandleScope shs(isolate);
10725 ASSERT(args.length() == 0); 10725 ASSERT(args.length() == 0);
10726 Execution::DebugBreakHelper(isolate); 10726 isolate->debug()->DebugBreakHelper();
10727 return isolate->heap()->undefined_value(); 10727 return isolate->heap()->undefined_value();
10728 } 10728 }
10729 10729
10730 10730
10731 // Helper functions for wrapping and unwrapping stack frame ids. 10731 // Helper functions for wrapping and unwrapping stack frame ids.
10732 static Smi* WrapFrameId(StackFrame::Id id) { 10732 static Smi* WrapFrameId(StackFrame::Id id) {
10733 ASSERT(IsAligned(OffsetFrom(id), static_cast<intptr_t>(4))); 10733 ASSERT(IsAligned(OffsetFrom(id), static_cast<intptr_t>(4)));
10734 return Smi::FromInt(id >> 2); 10734 return Smi::FromInt(id >> 2);
10735 } 10735 }
10736 10736
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
10833 CONVERT_ARG_HANDLE_CHECKED(JSObject, obj, 0); 10833 CONVERT_ARG_HANDLE_CHECKED(JSObject, obj, 0);
10834 CONVERT_ARG_HANDLE_CHECKED(Name, name, 1); 10834 CONVERT_ARG_HANDLE_CHECKED(Name, name, 1);
10835 10835
10836 // Make sure to set the current context to the context before the debugger was 10836 // Make sure to set the current context to the context before the debugger was
10837 // entered (if the debugger is entered). The reason for switching context here 10837 // entered (if the debugger is entered). The reason for switching context here
10838 // is that for some property lookups (accessors and interceptors) callbacks 10838 // is that for some property lookups (accessors and interceptors) callbacks
10839 // into the embedding application can occour, and the embedding application 10839 // into the embedding application can occour, and the embedding application
10840 // could have the assumption that its own native context is the current 10840 // could have the assumption that its own native context is the current
10841 // context and not some internal debugger context. 10841 // context and not some internal debugger context.
10842 SaveContext save(isolate); 10842 SaveContext save(isolate);
10843 if (isolate->debug()->InDebugger()) { 10843 if (isolate->debug()->is_entered()) {
10844 isolate->set_context(*isolate->debug()->debugger_entry()->GetContext()); 10844 isolate->set_context(*isolate->debug()->debugger_entry()->GetContext());
10845 } 10845 }
10846 10846
10847 // Skip the global proxy as it has no properties and always delegates to the 10847 // Skip the global proxy as it has no properties and always delegates to the
10848 // real global object. 10848 // real global object.
10849 if (obj->IsJSGlobalProxy()) { 10849 if (obj->IsJSGlobalProxy()) {
10850 obj = Handle<JSObject>(JSObject::cast(obj->GetPrototype())); 10850 obj = Handle<JSObject>(JSObject::cast(obj->GetPrototype()));
10851 } 10851 }
10852 10852
10853 10853
(...skipping 2026 matching lines...) Expand 10 before | Expand all | Expand 10 after
12880 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]); 12880 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]);
12881 RUNTIME_ASSERT(CheckExecutionState(isolate, break_id)); 12881 RUNTIME_ASSERT(CheckExecutionState(isolate, break_id));
12882 12882
12883 CONVERT_SMI_ARG_CHECKED(wrapped_id, 1); 12883 CONVERT_SMI_ARG_CHECKED(wrapped_id, 1);
12884 CONVERT_NUMBER_CHECKED(int, inlined_jsframe_index, Int32, args[2]); 12884 CONVERT_NUMBER_CHECKED(int, inlined_jsframe_index, Int32, args[2]);
12885 CONVERT_ARG_HANDLE_CHECKED(String, source, 3); 12885 CONVERT_ARG_HANDLE_CHECKED(String, source, 3);
12886 CONVERT_BOOLEAN_ARG_CHECKED(disable_break, 4); 12886 CONVERT_BOOLEAN_ARG_CHECKED(disable_break, 4);
12887 CONVERT_ARG_HANDLE_CHECKED(Object, context_extension, 5); 12887 CONVERT_ARG_HANDLE_CHECKED(Object, context_extension, 5);
12888 12888
12889 // Handle the processing of break. 12889 // Handle the processing of break.
12890 DisableBreak disable_break_save(isolate, disable_break); 12890 DisableBreak disable_break_scope(isolate->debug(), disable_break);
12891 12891
12892 // Get the frame where the debugging is performed. 12892 // Get the frame where the debugging is performed.
12893 StackFrame::Id id = UnwrapFrameId(wrapped_id); 12893 StackFrame::Id id = UnwrapFrameId(wrapped_id);
12894 JavaScriptFrameIterator it(isolate, id); 12894 JavaScriptFrameIterator it(isolate, id);
12895 JavaScriptFrame* frame = it.frame(); 12895 JavaScriptFrame* frame = it.frame();
12896 FrameInspector frame_inspector(frame, inlined_jsframe_index, isolate); 12896 FrameInspector frame_inspector(frame, inlined_jsframe_index, isolate);
12897 Handle<JSFunction> function(JSFunction::cast(frame_inspector.GetFunction())); 12897 Handle<JSFunction> function(JSFunction::cast(frame_inspector.GetFunction()));
12898 12898
12899 // Traverse the saved contexts chain to find the active context for the 12899 // Traverse the saved contexts chain to find the active context for the
12900 // selected frame. 12900 // selected frame.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
12944 // evaluated. 12944 // evaluated.
12945 ASSERT(args.length() == 4); 12945 ASSERT(args.length() == 4);
12946 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]); 12946 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]);
12947 RUNTIME_ASSERT(CheckExecutionState(isolate, break_id)); 12947 RUNTIME_ASSERT(CheckExecutionState(isolate, break_id));
12948 12948
12949 CONVERT_ARG_HANDLE_CHECKED(String, source, 1); 12949 CONVERT_ARG_HANDLE_CHECKED(String, source, 1);
12950 CONVERT_BOOLEAN_ARG_CHECKED(disable_break, 2); 12950 CONVERT_BOOLEAN_ARG_CHECKED(disable_break, 2);
12951 CONVERT_ARG_HANDLE_CHECKED(Object, context_extension, 3); 12951 CONVERT_ARG_HANDLE_CHECKED(Object, context_extension, 3);
12952 12952
12953 // Handle the processing of break. 12953 // Handle the processing of break.
12954 DisableBreak disable_break_save(isolate, disable_break); 12954 DisableBreak disable_break_scope(isolate->debug(), disable_break);
12955 12955
12956 // Enter the top context from before the debugger was invoked. 12956 // Enter the top context from before the debugger was invoked.
12957 SaveContext save(isolate); 12957 SaveContext save(isolate);
12958 SaveContext* top = &save; 12958 SaveContext* top = &save;
12959 while (top != NULL && *top->context() == *isolate->debug()->debug_context()) { 12959 while (top != NULL && *top->context() == *isolate->debug()->debug_context()) {
12960 top = top->prev(); 12960 top = top->prev();
12961 } 12961 }
12962 if (top != NULL) { 12962 if (top != NULL) {
12963 isolate->set_context(*top->context()); 12963 isolate->set_context(*top->context());
12964 } 12964 }
(...skipping 2206 matching lines...) Expand 10 before | Expand all | Expand 10 after
15171 } 15171 }
15172 return NULL; 15172 return NULL;
15173 } 15173 }
15174 15174
15175 15175
15176 const Runtime::Function* Runtime::FunctionForId(Runtime::FunctionId id) { 15176 const Runtime::Function* Runtime::FunctionForId(Runtime::FunctionId id) {
15177 return &(kIntrinsicFunctions[static_cast<int>(id)]); 15177 return &(kIntrinsicFunctions[static_cast<int>(id)]);
15178 } 15178 }
15179 15179
15180 } } // namespace v8::internal 15180 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/mark-compact.cc ('k') | test/cctest/test-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698