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

Side by Side Diff: src/api.cc

Issue 2670823002: [debugger] remove mirror cache and v8::Debug::GetMirror. (Closed)
Patch Set: address comments. Created 3 years, 10 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 | « include/v8-debug.h ('k') | src/debug/debug.h » ('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 "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 8907 matching lines...) Expand 10 before | Expand all | Expand 10 after
8918 } 8918 }
8919 Local<Value> result; 8919 Local<Value> result;
8920 has_pending_exception = 8920 has_pending_exception =
8921 !ToLocal<Value>(isolate->debug()->Call(Utils::OpenHandle(*fun), data_obj), 8921 !ToLocal<Value>(isolate->debug()->Call(Utils::OpenHandle(*fun), data_obj),
8922 &result); 8922 &result);
8923 RETURN_ON_FAILED_EXECUTION(Value); 8923 RETURN_ON_FAILED_EXECUTION(Value);
8924 RETURN_ESCAPED(result); 8924 RETURN_ESCAPED(result);
8925 } 8925 }
8926 8926
8927 8927
8928 MaybeLocal<Value> Debug::GetMirror(Local<Context> context,
8929 v8::Local<v8::Value> obj) {
8930 PREPARE_FOR_EXECUTION(context, Debug, GetMirror, Value);
8931 i::Debug* isolate_debug = isolate->debug();
8932 has_pending_exception = !isolate_debug->Load();
8933 RETURN_ON_FAILED_EXECUTION(Value);
8934 i::Handle<i::JSObject> debug(isolate_debug->debug_context()->global_object());
8935 auto name = isolate->factory()->NewStringFromStaticChars("MakeMirror");
8936 auto fun_obj = i::JSReceiver::GetProperty(debug, name).ToHandleChecked();
8937 auto v8_fun = Utils::CallableToLocal(i::Handle<i::JSFunction>::cast(fun_obj));
8938 const int kArgc = 1;
8939 v8::Local<v8::Value> argv[kArgc] = {obj};
8940 Local<Value> result;
8941 has_pending_exception =
8942 !v8_fun->Call(context, Utils::ToLocal(debug), kArgc, argv)
8943 .ToLocal(&result);
8944 RETURN_ON_FAILED_EXECUTION(Value);
8945 RETURN_ESCAPED(result);
8946 }
8947
8948 void Debug::ProcessDebugMessages(Isolate* isolate) {} 8928 void Debug::ProcessDebugMessages(Isolate* isolate) {}
8949 8929
8950 Local<Context> Debug::GetDebugContext(Isolate* isolate) { 8930 Local<Context> Debug::GetDebugContext(Isolate* isolate) {
8951 return debug::GetDebugContext(isolate); 8931 return debug::GetDebugContext(isolate);
8952 } 8932 }
8953 8933
8954 8934
8955 MaybeLocal<Context> Debug::GetDebuggedContext(Isolate* isolate) { 8935 MaybeLocal<Context> Debug::GetDebuggedContext(Isolate* isolate) {
8956 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); 8936 i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate);
8957 ENTER_V8(i_isolate); 8937 ENTER_V8(i_isolate);
(...skipping 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after
10055 Address callback_address = 10035 Address callback_address =
10056 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 10036 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
10057 VMState<EXTERNAL> state(isolate); 10037 VMState<EXTERNAL> state(isolate);
10058 ExternalCallbackScope call_scope(isolate, callback_address); 10038 ExternalCallbackScope call_scope(isolate, callback_address);
10059 callback(info); 10039 callback(info);
10060 } 10040 }
10061 10041
10062 10042
10063 } // namespace internal 10043 } // namespace internal
10064 } // namespace v8 10044 } // namespace v8
OLDNEW
« no previous file with comments | « include/v8-debug.h ('k') | src/debug/debug.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698