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

Side by Side Diff: runtime/vm/debugger.h

Issue 2903993002: Remember deopt-id -> context-level mappings in var descriptors. (Closed)
Patch Set: update descriptor tests Created 3 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
« no previous file with comments | « runtime/vm/dart.cc ('k') | runtime/vm/debugger.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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef RUNTIME_VM_DEBUGGER_H_ 5 #ifndef RUNTIME_VM_DEBUGGER_H_
6 #define RUNTIME_VM_DEBUGGER_H_ 6 #define RUNTIME_VM_DEBUGGER_H_
7 7
8 #include "include/dart_tools_api.h" 8 #include "include/dart_tools_api.h"
9 9
10 #include "vm/object.h" 10 #include "vm/object.h"
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 bool HandlesException(const Instance& exc_obj); 343 bool HandlesException(const Instance& exc_obj);
344 344
345 private: 345 private:
346 void PrintToJSONObjectRegular(JSONObject* jsobj, bool full); 346 void PrintToJSONObjectRegular(JSONObject* jsobj, bool full);
347 void PrintToJSONObjectAsyncCausal(JSONObject* jsobj, bool full); 347 void PrintToJSONObjectAsyncCausal(JSONObject* jsobj, bool full);
348 void PrintToJSONObjectAsyncSuspensionMarker(JSONObject* jsobj, bool full); 348 void PrintToJSONObjectAsyncSuspensionMarker(JSONObject* jsobj, bool full);
349 void PrintToJSONObjectAsyncActivation(JSONObject* jsobj, bool full); 349 void PrintToJSONObjectAsyncActivation(JSONObject* jsobj, bool full);
350 void PrintContextMismatchError(intptr_t ctx_slot, 350 void PrintContextMismatchError(intptr_t ctx_slot,
351 intptr_t frame_ctx_level, 351 intptr_t frame_ctx_level,
352 intptr_t var_ctx_level); 352 intptr_t var_ctx_level);
353 void PrintDescriptorsError(const char* message);
353 354
354 intptr_t TryIndex(); 355 intptr_t TryIndex();
356 intptr_t DeoptId();
355 void GetPcDescriptors(); 357 void GetPcDescriptors();
356 void GetVarDescriptors(); 358 void GetVarDescriptors();
357 void GetDescIndices(); 359 void GetDescIndices();
358 360
359 RawObject* GetAsyncContextVariable(const String& name); 361 RawObject* GetAsyncContextVariable(const String& name);
360 RawObject* GetAsyncStreamControllerStreamAwaiter(const Object& stream); 362 RawObject* GetAsyncStreamControllerStreamAwaiter(const Object& stream);
361 RawObject* GetAsyncStreamControllerStream(); 363 RawObject* GetAsyncStreamControllerStream();
362 RawObject* GetAsyncCompleterAwaiter(const Object& completer); 364 RawObject* GetAsyncCompleterAwaiter(const Object& completer);
363 RawObject* GetAsyncCompleter(); 365 RawObject* GetAsyncCompleter();
364 void ExtractTokenPositionFromAsyncClosure(); 366 void ExtractTokenPositionFromAsyncClosure();
(...skipping 24 matching lines...) Expand all
389 uword sp_; 391 uword sp_;
390 392
391 // The anchor of the context chain for this function. 393 // The anchor of the context chain for this function.
392 Context& ctx_; 394 Context& ctx_;
393 Code& code_; 395 Code& code_;
394 Function& function_; 396 Function& function_;
395 bool live_frame_; // Is this frame a live frame? 397 bool live_frame_; // Is this frame a live frame?
396 bool token_pos_initialized_; 398 bool token_pos_initialized_;
397 TokenPosition token_pos_; 399 TokenPosition token_pos_;
398 intptr_t try_index_; 400 intptr_t try_index_;
401 intptr_t deopt_id_;
399 402
400 intptr_t line_number_; 403 intptr_t line_number_;
401 intptr_t column_number_; 404 intptr_t column_number_;
402 intptr_t context_level_; 405 intptr_t context_level_;
403 406
404 // Some frames are deoptimized into a side array in order to inspect them. 407 // Some frames are deoptimized into a side array in order to inspect them.
405 const Array& deopt_frame_; 408 const Array& deopt_frame_;
406 const intptr_t deopt_frame_offset_; 409 const intptr_t deopt_frame_offset_;
407 410
408 Kind kind_; 411 Kind kind_;
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 795
793 friend class Isolate; 796 friend class Isolate;
794 friend class BreakpointLocation; 797 friend class BreakpointLocation;
795 DISALLOW_COPY_AND_ASSIGN(Debugger); 798 DISALLOW_COPY_AND_ASSIGN(Debugger);
796 }; 799 };
797 800
798 801
799 } // namespace dart 802 } // namespace dart
800 803
801 #endif // RUNTIME_VM_DEBUGGER_H_ 804 #endif // RUNTIME_VM_DEBUGGER_H_
OLDNEW
« no previous file with comments | « runtime/vm/dart.cc ('k') | runtime/vm/debugger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698