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

Side by Side Diff: src/debug.cc

Issue 1224623004: Make v8::Handle as "deprecated soon" (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 5 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/debug.h ('k') | src/extensions/externalize-string-extension.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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/api.h" 7 #include "src/api.h"
8 #include "src/arguments.h" 8 #include "src/arguments.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 30 matching lines...) Expand all
41 in_debug_event_listener_(false), 41 in_debug_event_listener_(false),
42 break_on_exception_(false), 42 break_on_exception_(false),
43 break_on_uncaught_exception_(false), 43 break_on_uncaught_exception_(false),
44 script_cache_(NULL), 44 script_cache_(NULL),
45 debug_info_list_(NULL), 45 debug_info_list_(NULL),
46 isolate_(isolate) { 46 isolate_(isolate) {
47 ThreadInit(); 47 ThreadInit();
48 } 48 }
49 49
50 50
51 static v8::Handle<v8::Context> GetDebugEventContext(Isolate* isolate) { 51 static v8::Local<v8::Context> GetDebugEventContext(Isolate* isolate) {
52 Handle<Context> context = isolate->debug()->debugger_entry()->GetContext(); 52 Handle<Context> context = isolate->debug()->debugger_entry()->GetContext();
53 // Isolate::context() may have been NULL when "script collected" event 53 // Isolate::context() may have been NULL when "script collected" event
54 // occured. 54 // occured.
55 if (context.is_null()) return v8::Local<v8::Context>(); 55 if (context.is_null()) return v8::Local<v8::Context>();
56 Handle<Context> native_context(context->native_context()); 56 Handle<Context> native_context(context->native_context());
57 return v8::Utils::ToLocal(native_context); 57 return v8::Utils::ToLocal(native_context);
58 } 58 }
59 59
60 60
61 BreakLocation::BreakLocation(Handle<DebugInfo> debug_info, RelocInfo* rinfo, 61 BreakLocation::BreakLocation(Handle<DebugInfo> debug_info, RelocInfo* rinfo,
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 SuppressDebug while_loading(this); 677 SuppressDebug while_loading(this);
678 678
679 // Disable breakpoints and interrupts while compiling and running the 679 // Disable breakpoints and interrupts while compiling and running the
680 // debugger scripts including the context creation code. 680 // debugger scripts including the context creation code.
681 DisableBreak disable(this, true); 681 DisableBreak disable(this, true);
682 PostponeInterruptsScope postpone(isolate_); 682 PostponeInterruptsScope postpone(isolate_);
683 683
684 // Create the debugger context. 684 // Create the debugger context.
685 HandleScope scope(isolate_); 685 HandleScope scope(isolate_);
686 ExtensionConfiguration no_extensions; 686 ExtensionConfiguration no_extensions;
687 Handle<Context> context = 687 Handle<Context> context = isolate_->bootstrapper()->CreateEnvironment(
688 isolate_->bootstrapper()->CreateEnvironment( 688 MaybeHandle<JSGlobalProxy>(), v8::Local<ObjectTemplate>(),
689 MaybeHandle<JSGlobalProxy>(), 689 &no_extensions);
690 v8::Handle<ObjectTemplate>(),
691 &no_extensions);
692 690
693 // Fail if no context could be created. 691 // Fail if no context could be created.
694 if (context.is_null()) return false; 692 if (context.is_null()) return false;
695 693
696 // Use the debugger context. 694 // Use the debugger context.
697 SaveContext save(isolate_); 695 SaveContext save(isolate_);
698 isolate_->set_context(*context); 696 isolate_->set_context(*context);
699 697
700 // Expose the builtins object in the debugger context. 698 // Expose the builtins object in the debugger context.
701 Handle<String> key = isolate_->factory()->InternalizeOneByteString( 699 Handle<String> key = isolate_->factory()->InternalizeOneByteString(
(...skipping 2492 matching lines...) Expand 10 before | Expand all | Expand 10 after
3194 DebugEvent MessageImpl::GetEvent() const { 3192 DebugEvent MessageImpl::GetEvent() const {
3195 return event_; 3193 return event_;
3196 } 3194 }
3197 3195
3198 3196
3199 bool MessageImpl::WillStartRunning() const { 3197 bool MessageImpl::WillStartRunning() const {
3200 return running_; 3198 return running_;
3201 } 3199 }
3202 3200
3203 3201
3204 v8::Handle<v8::Object> MessageImpl::GetExecutionState() const { 3202 v8::Local<v8::Object> MessageImpl::GetExecutionState() const {
3205 return v8::Utils::ToLocal(exec_state_); 3203 return v8::Utils::ToLocal(exec_state_);
3206 } 3204 }
3207 3205
3208 3206
3209 v8::Isolate* MessageImpl::GetIsolate() const { 3207 v8::Isolate* MessageImpl::GetIsolate() const {
3210 return reinterpret_cast<v8::Isolate*>(exec_state_->GetIsolate()); 3208 return reinterpret_cast<v8::Isolate*>(exec_state_->GetIsolate());
3211 } 3209 }
3212 3210
3213 3211
3214 v8::Handle<v8::Object> MessageImpl::GetEventData() const { 3212 v8::Local<v8::Object> MessageImpl::GetEventData() const {
3215 return v8::Utils::ToLocal(event_data_); 3213 return v8::Utils::ToLocal(event_data_);
3216 } 3214 }
3217 3215
3218 3216
3219 v8::Handle<v8::String> MessageImpl::GetJSON() const { 3217 v8::Local<v8::String> MessageImpl::GetJSON() const {
3220 Isolate* isolate = event_data_->GetIsolate(); 3218 Isolate* isolate = event_data_->GetIsolate();
3221 v8::EscapableHandleScope scope(reinterpret_cast<v8::Isolate*>(isolate)); 3219 v8::EscapableHandleScope scope(reinterpret_cast<v8::Isolate*>(isolate));
3222 3220
3223 if (IsEvent()) { 3221 if (IsEvent()) {
3224 // Call toJSONProtocol on the debug event object. 3222 // Call toJSONProtocol on the debug event object.
3225 Handle<Object> fun = Object::GetProperty( 3223 Handle<Object> fun = Object::GetProperty(
3226 isolate, event_data_, "toJSONProtocol").ToHandleChecked(); 3224 isolate, event_data_, "toJSONProtocol").ToHandleChecked();
3227 if (!fun->IsJSFunction()) { 3225 if (!fun->IsJSFunction()) {
3228 return v8::Handle<v8::String>(); 3226 return v8::Local<v8::String>();
3229 } 3227 }
3230 3228
3231 MaybeHandle<Object> maybe_json = 3229 MaybeHandle<Object> maybe_json =
3232 Execution::TryCall(Handle<JSFunction>::cast(fun), event_data_, 0, NULL); 3230 Execution::TryCall(Handle<JSFunction>::cast(fun), event_data_, 0, NULL);
3233 Handle<Object> json; 3231 Handle<Object> json;
3234 if (!maybe_json.ToHandle(&json) || !json->IsString()) { 3232 if (!maybe_json.ToHandle(&json) || !json->IsString()) {
3235 return v8::Handle<v8::String>(); 3233 return v8::Local<v8::String>();
3236 } 3234 }
3237 return scope.Escape(v8::Utils::ToLocal(Handle<String>::cast(json))); 3235 return scope.Escape(v8::Utils::ToLocal(Handle<String>::cast(json)));
3238 } else { 3236 } else {
3239 return v8::Utils::ToLocal(response_json_); 3237 return v8::Utils::ToLocal(response_json_);
3240 } 3238 }
3241 } 3239 }
3242 3240
3243 3241
3244 v8::Handle<v8::Context> MessageImpl::GetEventContext() const { 3242 v8::Local<v8::Context> MessageImpl::GetEventContext() const {
3245 Isolate* isolate = event_data_->GetIsolate(); 3243 Isolate* isolate = event_data_->GetIsolate();
3246 v8::Handle<v8::Context> context = GetDebugEventContext(isolate); 3244 v8::Local<v8::Context> context = GetDebugEventContext(isolate);
3247 // Isolate::context() may be NULL when "script collected" event occurs. 3245 // Isolate::context() may be NULL when "script collected" event occurs.
3248 DCHECK(!context.IsEmpty()); 3246 DCHECK(!context.IsEmpty());
3249 return context; 3247 return context;
3250 } 3248 }
3251 3249
3252 3250
3253 v8::Debug::ClientData* MessageImpl::GetClientData() const { 3251 v8::Debug::ClientData* MessageImpl::GetClientData() const {
3254 return client_data_; 3252 return client_data_;
3255 } 3253 }
3256 3254
3257 3255
3258 EventDetailsImpl::EventDetailsImpl(DebugEvent event, 3256 EventDetailsImpl::EventDetailsImpl(DebugEvent event,
3259 Handle<JSObject> exec_state, 3257 Handle<JSObject> exec_state,
3260 Handle<JSObject> event_data, 3258 Handle<JSObject> event_data,
3261 Handle<Object> callback_data, 3259 Handle<Object> callback_data,
3262 v8::Debug::ClientData* client_data) 3260 v8::Debug::ClientData* client_data)
3263 : event_(event), 3261 : event_(event),
3264 exec_state_(exec_state), 3262 exec_state_(exec_state),
3265 event_data_(event_data), 3263 event_data_(event_data),
3266 callback_data_(callback_data), 3264 callback_data_(callback_data),
3267 client_data_(client_data) {} 3265 client_data_(client_data) {}
3268 3266
3269 3267
3270 DebugEvent EventDetailsImpl::GetEvent() const { 3268 DebugEvent EventDetailsImpl::GetEvent() const {
3271 return event_; 3269 return event_;
3272 } 3270 }
3273 3271
3274 3272
3275 v8::Handle<v8::Object> EventDetailsImpl::GetExecutionState() const { 3273 v8::Local<v8::Object> EventDetailsImpl::GetExecutionState() const {
3276 return v8::Utils::ToLocal(exec_state_); 3274 return v8::Utils::ToLocal(exec_state_);
3277 } 3275 }
3278 3276
3279 3277
3280 v8::Handle<v8::Object> EventDetailsImpl::GetEventData() const { 3278 v8::Local<v8::Object> EventDetailsImpl::GetEventData() const {
3281 return v8::Utils::ToLocal(event_data_); 3279 return v8::Utils::ToLocal(event_data_);
3282 } 3280 }
3283 3281
3284 3282
3285 v8::Handle<v8::Context> EventDetailsImpl::GetEventContext() const { 3283 v8::Local<v8::Context> EventDetailsImpl::GetEventContext() const {
3286 return GetDebugEventContext(exec_state_->GetIsolate()); 3284 return GetDebugEventContext(exec_state_->GetIsolate());
3287 } 3285 }
3288 3286
3289 3287
3290 v8::Handle<v8::Value> EventDetailsImpl::GetCallbackData() const { 3288 v8::Local<v8::Value> EventDetailsImpl::GetCallbackData() const {
3291 return v8::Utils::ToLocal(callback_data_); 3289 return v8::Utils::ToLocal(callback_data_);
3292 } 3290 }
3293 3291
3294 3292
3295 v8::Debug::ClientData* EventDetailsImpl::GetClientData() const { 3293 v8::Debug::ClientData* EventDetailsImpl::GetClientData() const {
3296 return client_data_; 3294 return client_data_;
3297 } 3295 }
3298 3296
3299 3297
3300 CommandMessage::CommandMessage() : text_(Vector<uint16_t>::empty()), 3298 CommandMessage::CommandMessage() : text_(Vector<uint16_t>::empty()),
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
3390 } 3388 }
3391 3389
3392 3390
3393 void LockingCommandMessageQueue::Clear() { 3391 void LockingCommandMessageQueue::Clear() {
3394 base::LockGuard<base::Mutex> lock_guard(&mutex_); 3392 base::LockGuard<base::Mutex> lock_guard(&mutex_);
3395 queue_.Clear(); 3393 queue_.Clear();
3396 } 3394 }
3397 3395
3398 } // namespace internal 3396 } // namespace internal
3399 } // namespace v8 3397 } // namespace v8
OLDNEW
« no previous file with comments | « src/debug.h ('k') | src/extensions/externalize-string-extension.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698