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

Unified Diff: runtime/vm/raw_object.h

Issue 8992020: First part of inspecting local variables (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/raw_object.h
===================================================================
--- runtime/vm/raw_object.h (revision 2646)
+++ runtime/vm/raw_object.h (working copy)
@@ -33,6 +33,7 @@
V(Code) \
V(Instructions) \
V(PcDescriptors) \
+ V(LocalVarDescriptors) \
V(ExceptionHandlers) \
V(Context) \
V(ContextScope) \
@@ -573,6 +574,7 @@
RawFunction* function_;
RawExceptionHandlers* exception_handlers_;
RawPcDescriptors* pc_descriptors_;
+ RawLocalVarDescriptors* var_descriptors_;
// Ongoing redesign of inline caches may soon remove the need for 'ic_data_'.
RawArray* ic_data_; // Used to store IC stub data (see class ICData).
RawObject** to() {
@@ -611,6 +613,22 @@
};
+class RawLocalVarDescriptors : public RawObject {
+ RAW_HEAP_OBJECT_IMPLEMENTATION(LocalVarDescriptors);
+
+ struct VarInfo {
+ intptr_t index; // Slot index on stack.
+ intptr_t begin_pos; // Token position of scope start.
+ intptr_t end_pos; // Token position of scope end.
+ };
+
+ intptr_t length_; // Number of descriptors.
+ RawArray* names_; // Array of [length_] variable names.
+
+ VarInfo data_[0]; // Variable info with [length_] entries.
+};
+
+
class RawExceptionHandlers : public RawObject {
RAW_HEAP_OBJECT_IMPLEMENTATION(ExceptionHandlers);

Powered by Google App Engine
This is Rietveld 408576698