Index: runtime/vm/object.cc |
=================================================================== |
--- runtime/vm/object.cc (revision 43515) |
+++ runtime/vm/object.cc (working copy) |
@@ -5584,7 +5584,7 @@ |
bool Function::CanBeInlined() const { |
return is_inlinable() && |
- !is_async_closure() && |
+ !is_generated_body() && |
HasCode() && |
!Isolate::Current()->debugger()->HasBreakpoint(*this); |
} |
@@ -6111,7 +6111,7 @@ |
result.set_is_debuggable(true); // Will be computed later. |
result.set_is_intrinsic(false); |
result.set_is_redirecting(false); |
- result.set_is_async_closure(false); |
+ result.set_is_generated_body(false); |
result.set_always_inline(false); |
result.set_is_polymorphic_target(false); |
result.set_owner(owner); |
@@ -12788,7 +12788,23 @@ |
const char* ContextScope::ToCString() const { |
- return "ContextScope"; |
+ const char* format = |
+ "%s\nvar %s token-pos %" Pd " ctx lvl %" Pd " index %" Pd ""; |
+ const char* prev_cstr = "ContextScope:"; |
+ String& name = String::Handle(); |
+ for (int i = 0; i < num_variables(); i++) { |
+ name = NameAt(i); |
+ const char* cname = name.ToCString(); |
+ intptr_t pos = TokenIndexAt(i); |
+ intptr_t idx = ContextIndexAt(i); |
+ intptr_t lvl = ContextLevelAt(i); |
+ intptr_t len = |
+ OS::SNPrint(NULL, 0, format, prev_cstr, cname, pos, lvl, idx) + 1; |
+ char* chars = Isolate::Current()->current_zone()->Alloc<char>(len); |
+ OS::SNPrint(chars, len, format, prev_cstr, cname, pos, lvl, idx); |
+ prev_cstr = chars; |
+ } |
+ return prev_cstr; |
} |