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

Side by Side Diff: src/runtime/runtime-debug.cc

Issue 1924743002: [debugger] remove some dead code. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 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/runtime/runtime.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/runtime/runtime-utils.h" 5 #include "src/runtime/runtime-utils.h"
6 6
7 #include "src/arguments.h" 7 #include "src/arguments.h"
8 #include "src/debug/debug-evaluate.h" 8 #include "src/debug/debug-evaluate.h"
9 #include "src/debug/debug-frames.h" 9 #include "src/debug/debug-frames.h"
10 #include "src/debug/debug-scopes.h" 10 #include "src/debug/debug-scopes.h"
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 // Return the property attribute calculated from the property details. 403 // Return the property attribute calculated from the property details.
404 // args[0]: smi with property details. 404 // args[0]: smi with property details.
405 RUNTIME_FUNCTION(Runtime_DebugPropertyAttributesFromDetails) { 405 RUNTIME_FUNCTION(Runtime_DebugPropertyAttributesFromDetails) {
406 SealHandleScope shs(isolate); 406 SealHandleScope shs(isolate);
407 DCHECK(args.length() == 1); 407 DCHECK(args.length() == 1);
408 CONVERT_PROPERTY_DETAILS_CHECKED(details, 0); 408 CONVERT_PROPERTY_DETAILS_CHECKED(details, 0);
409 return Smi::FromInt(static_cast<int>(details.attributes())); 409 return Smi::FromInt(static_cast<int>(details.attributes()));
410 } 410 }
411 411
412 412
413 // Return the property insertion index calculated from the property details.
414 // args[0]: smi with property details.
415 RUNTIME_FUNCTION(Runtime_DebugPropertyIndexFromDetails) {
416 SealHandleScope shs(isolate);
417 DCHECK(args.length() == 1);
418 CONVERT_PROPERTY_DETAILS_CHECKED(details, 0);
419 // TODO(verwaest): Works only for dictionary mode holders.
420 return Smi::FromInt(details.dictionary_index());
421 }
422
423
424 // Return property value from named interceptor.
425 // args[0]: object
426 // args[1]: property name
427 RUNTIME_FUNCTION(Runtime_DebugNamedInterceptorPropertyValue) {
428 HandleScope scope(isolate);
429 DCHECK(args.length() == 2);
430 CONVERT_ARG_HANDLE_CHECKED(JSObject, obj, 0);
431 RUNTIME_ASSERT(obj->HasNamedInterceptor());
432 CONVERT_ARG_HANDLE_CHECKED(Name, name, 1);
433
434 Handle<Object> result;
435 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result,
436 JSObject::GetProperty(obj, name));
437 return *result;
438 }
439
440
441 // Return element value from indexed interceptor.
442 // args[0]: object
443 // args[1]: index
444 RUNTIME_FUNCTION(Runtime_DebugIndexedInterceptorElementValue) {
445 HandleScope scope(isolate);
446 DCHECK(args.length() == 2);
447 CONVERT_ARG_HANDLE_CHECKED(JSObject, obj, 0);
448 RUNTIME_ASSERT(obj->HasIndexedInterceptor());
449 CONVERT_NUMBER_CHECKED(uint32_t, index, Uint32, args[1]);
450 Handle<Object> result;
451 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
452 isolate, result, JSReceiver::GetElement(isolate, obj, index));
453 return *result;
454 }
455
456
457 RUNTIME_FUNCTION(Runtime_CheckExecutionState) { 413 RUNTIME_FUNCTION(Runtime_CheckExecutionState) {
458 SealHandleScope shs(isolate); 414 SealHandleScope shs(isolate);
459 DCHECK(args.length() == 1); 415 DCHECK(args.length() == 1);
460 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]); 416 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]);
461 RUNTIME_ASSERT(isolate->debug()->CheckExecutionState(break_id)); 417 RUNTIME_ASSERT(isolate->debug()->CheckExecutionState(break_id));
462 return isolate->heap()->true_value(); 418 return isolate->heap()->true_value();
463 } 419 }
464 420
465 421
466 RUNTIME_FUNCTION(Runtime_GetFrameCount) { 422 RUNTIME_FUNCTION(Runtime_GetFrameCount) {
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 FrameInspector frame_inspector(frame, 0, isolate); 909 FrameInspector frame_inspector(frame, 0, isolate);
954 910
955 for (ScopeIterator it(isolate, &frame_inspector); !it.Done(); it.Next()) { 911 for (ScopeIterator it(isolate, &frame_inspector); !it.Done(); it.Next()) {
956 it.DebugPrint(); 912 it.DebugPrint();
957 } 913 }
958 #endif 914 #endif
959 return isolate->heap()->undefined_value(); 915 return isolate->heap()->undefined_value();
960 } 916 }
961 917
962 918
963 RUNTIME_FUNCTION(Runtime_GetThreadCount) {
964 HandleScope scope(isolate);
965 DCHECK(args.length() == 1);
966 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]);
967 RUNTIME_ASSERT(isolate->debug()->CheckExecutionState(break_id));
968
969 // Count all archived V8 threads.
970 int n = 0;
971 for (ThreadState* thread = isolate->thread_manager()->FirstThreadStateInUse();
972 thread != NULL; thread = thread->Next()) {
973 n++;
974 }
975
976 // Total number of threads is current thread and archived threads.
977 return Smi::FromInt(n + 1);
978 }
979
980
981 static const int kThreadDetailsCurrentThreadIndex = 0;
982 static const int kThreadDetailsThreadIdIndex = 1;
983 static const int kThreadDetailsSize = 2;
984
985 // Return an array with thread details
986 // args[0]: number: break id
987 // args[1]: number: thread index
988 //
989 // The array returned contains the following information:
990 // 0: Is current thread?
991 // 1: Thread id
992 RUNTIME_FUNCTION(Runtime_GetThreadDetails) {
993 HandleScope scope(isolate);
994 DCHECK(args.length() == 2);
995 CONVERT_NUMBER_CHECKED(int, break_id, Int32, args[0]);
996 RUNTIME_ASSERT(isolate->debug()->CheckExecutionState(break_id));
997
998 CONVERT_NUMBER_CHECKED(int, index, Int32, args[1]);
999
1000 // Allocate array for result.
1001 Handle<FixedArray> details =
1002 isolate->factory()->NewFixedArray(kThreadDetailsSize);
1003
1004 // Thread index 0 is current thread.
1005 if (index == 0) {
1006 // Fill the details.
1007 details->set(kThreadDetailsCurrentThreadIndex,
1008 isolate->heap()->true_value());
1009 details->set(kThreadDetailsThreadIdIndex,
1010 Smi::FromInt(ThreadId::Current().ToInteger()));
1011 } else {
1012 // Find the thread with the requested index.
1013 int n = 1;
1014 ThreadState* thread = isolate->thread_manager()->FirstThreadStateInUse();
1015 while (index != n && thread != NULL) {
1016 thread = thread->Next();
1017 n++;
1018 }
1019 if (thread == NULL) {
1020 return isolate->heap()->undefined_value();
1021 }
1022
1023 // Fill the details.
1024 details->set(kThreadDetailsCurrentThreadIndex,
1025 isolate->heap()->false_value());
1026 details->set(kThreadDetailsThreadIdIndex,
1027 Smi::FromInt(thread->id().ToInteger()));
1028 }
1029
1030 // Convert to JS array and return.
1031 return *isolate->factory()->NewJSArrayWithElements(details);
1032 }
1033
1034
1035 // Sets the disable break state 919 // Sets the disable break state
1036 // args[0]: disable break state 920 // args[0]: disable break state
1037 RUNTIME_FUNCTION(Runtime_SetBreakPointsActive) { 921 RUNTIME_FUNCTION(Runtime_SetBreakPointsActive) {
1038 HandleScope scope(isolate); 922 HandleScope scope(isolate);
1039 DCHECK(args.length() == 1); 923 DCHECK(args.length() == 1);
1040 CONVERT_BOOLEAN_ARG_CHECKED(active, 0); 924 CONVERT_BOOLEAN_ARG_CHECKED(active, 0);
1041 isolate->debug()->set_break_points_active(active); 925 isolate->debug()->set_break_points_active(active);
1042 return isolate->heap()->undefined_value(); 926 return isolate->heap()->undefined_value();
1043 } 927 }
1044 928
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
1645 return Smi::FromInt(isolate->debug()->is_active()); 1529 return Smi::FromInt(isolate->debug()->is_active());
1646 } 1530 }
1647 1531
1648 1532
1649 RUNTIME_FUNCTION(Runtime_DebugBreakInOptimizedCode) { 1533 RUNTIME_FUNCTION(Runtime_DebugBreakInOptimizedCode) {
1650 UNIMPLEMENTED(); 1534 UNIMPLEMENTED();
1651 return NULL; 1535 return NULL;
1652 } 1536 }
1653 } // namespace internal 1537 } // namespace internal
1654 } // namespace v8 1538 } // namespace v8
OLDNEW
« no previous file with comments | « src/runtime/runtime.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698