OLD | NEW |
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 "src/api.h" | 5 #include "src/api.h" |
6 | 6 |
7 #include <string.h> // For memcpy, strlen. | 7 #include <string.h> // For memcpy, strlen. |
8 #ifdef V8_USE_ADDRESS_SANITIZER | 8 #ifdef V8_USE_ADDRESS_SANITIZER |
9 #include <sanitizer/asan_interface.h> | 9 #include <sanitizer/asan_interface.h> |
10 #endif // V8_USE_ADDRESS_SANITIZER | 10 #endif // V8_USE_ADDRESS_SANITIZER |
(...skipping 8705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8716 | 8716 |
8717 | 8717 |
8718 bool Debug::CheckDebugBreak(Isolate* isolate) { | 8718 bool Debug::CheckDebugBreak(Isolate* isolate) { |
8719 i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(isolate); | 8719 i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(isolate); |
8720 return internal_isolate->stack_guard()->CheckDebugBreak(); | 8720 return internal_isolate->stack_guard()->CheckDebugBreak(); |
8721 } | 8721 } |
8722 | 8722 |
8723 | 8723 |
8724 void Debug::SetMessageHandler(Isolate* isolate, | 8724 void Debug::SetMessageHandler(Isolate* isolate, |
8725 v8::Debug::MessageHandler handler) { | 8725 v8::Debug::MessageHandler handler) { |
8726 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); | 8726 UNIMPLEMENTED(); |
8727 ENTER_V8(i_isolate); | |
8728 i_isolate->debug()->SetMessageHandler(handler); | |
8729 } | 8727 } |
8730 | 8728 |
8731 | 8729 |
8732 void Debug::SendCommand(Isolate* isolate, | 8730 void Debug::SendCommand(Isolate* isolate, |
8733 const uint16_t* command, | 8731 const uint16_t* command, |
8734 int length, | 8732 int length, |
8735 ClientData* client_data) { | 8733 ClientData* client_data) { |
8736 i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(isolate); | 8734 UNIMPLEMENTED(); |
8737 internal_isolate->debug()->EnqueueCommandMessage( | |
8738 i::Vector<const uint16_t>(command, length), client_data); | |
8739 } | 8735 } |
8740 | 8736 |
8741 | 8737 |
8742 MaybeLocal<Value> Debug::Call(Local<Context> context, | 8738 MaybeLocal<Value> Debug::Call(Local<Context> context, |
8743 v8::Local<v8::Function> fun, | 8739 v8::Local<v8::Function> fun, |
8744 v8::Local<v8::Value> data) { | 8740 v8::Local<v8::Value> data) { |
8745 PREPARE_FOR_EXECUTION(context, Debug, Call, Value); | 8741 PREPARE_FOR_EXECUTION(context, Debug, Call, Value); |
8746 i::Handle<i::Object> data_obj; | 8742 i::Handle<i::Object> data_obj; |
8747 if (data.IsEmpty()) { | 8743 if (data.IsEmpty()) { |
8748 data_obj = isolate->factory()->undefined_value(); | 8744 data_obj = isolate->factory()->undefined_value(); |
(...skipping 22 matching lines...) Expand all Loading... |
8771 const int kArgc = 1; | 8767 const int kArgc = 1; |
8772 v8::Local<v8::Value> argv[kArgc] = {obj}; | 8768 v8::Local<v8::Value> argv[kArgc] = {obj}; |
8773 Local<Value> result; | 8769 Local<Value> result; |
8774 has_pending_exception = | 8770 has_pending_exception = |
8775 !v8_fun->Call(context, Utils::ToLocal(debug), kArgc, argv) | 8771 !v8_fun->Call(context, Utils::ToLocal(debug), kArgc, argv) |
8776 .ToLocal(&result); | 8772 .ToLocal(&result); |
8777 RETURN_ON_FAILED_EXECUTION(Value); | 8773 RETURN_ON_FAILED_EXECUTION(Value); |
8778 RETURN_ESCAPED(result); | 8774 RETURN_ESCAPED(result); |
8779 } | 8775 } |
8780 | 8776 |
8781 | 8777 void Debug::ProcessDebugMessages(Isolate* isolate) { UNIMPLEMENTED(); } |
8782 void Debug::ProcessDebugMessages(Isolate* isolate) { | |
8783 reinterpret_cast<i::Isolate*>(isolate)->debug()->ProcessDebugMessages(true); | |
8784 } | |
8785 | |
8786 | 8778 |
8787 Local<Context> Debug::GetDebugContext(Isolate* isolate) { | 8779 Local<Context> Debug::GetDebugContext(Isolate* isolate) { |
8788 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); | 8780 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); |
8789 ENTER_V8(i_isolate); | 8781 ENTER_V8(i_isolate); |
8790 return Utils::ToLocal(i_isolate->debug()->GetDebugContext()); | 8782 return Utils::ToLocal(i_isolate->debug()->GetDebugContext()); |
8791 } | 8783 } |
8792 | 8784 |
8793 | 8785 |
8794 MaybeLocal<Context> Debug::GetDebuggedContext(Isolate* isolate) { | 8786 MaybeLocal<Context> Debug::GetDebuggedContext(Isolate* isolate) { |
8795 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); | 8787 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); |
(...skipping 1058 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9854 Address callback_address = | 9846 Address callback_address = |
9855 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 9847 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
9856 VMState<EXTERNAL> state(isolate); | 9848 VMState<EXTERNAL> state(isolate); |
9857 ExternalCallbackScope call_scope(isolate, callback_address); | 9849 ExternalCallbackScope call_scope(isolate, callback_address); |
9858 callback(info); | 9850 callback(info); |
9859 } | 9851 } |
9860 | 9852 |
9861 | 9853 |
9862 } // namespace internal | 9854 } // namespace internal |
9863 } // namespace v8 | 9855 } // namespace v8 |
OLD | NEW |