Index: runtime/vm/object.h |
diff --git a/runtime/vm/object.h b/runtime/vm/object.h |
index 37095628812c3c01f01f40614aecd943bbbda69a..de03494609f2f7264b99ae4206bd9ac1cdf9db74 100644 |
--- a/runtime/vm/object.h |
+++ b/runtime/vm/object.h |
@@ -31,6 +31,7 @@ class ArgumentsDescriptor; |
class Assembler; |
class Closure; |
class Code; |
+class DisassemblyFormatter; |
class DeoptInstr; |
class FinalizablePersistentHandle; |
class LocalScope; |
@@ -891,13 +892,15 @@ class Class : public Object { |
void SetFunctions(const Array& value) const; |
void AddFunction(const Function& function) const; |
intptr_t FindFunctionIndex(const Function& function) const; |
+ intptr_t FindImplicitClosureFunctionIndex(const Function& needle) const; |
+ intptr_t FindInvocationDispatcherFunctionIndex(const Function& needle) const; |
RawGrowableObjectArray* closures() const { |
return raw_ptr()->closure_functions_; |
} |
void AddClosureFunction(const Function& function) const; |
RawFunction* LookupClosureFunction(intptr_t token_pos) const; |
- intptr_t FindClosureIndex(intptr_t token_pos) const; |
+ intptr_t FindClosureIndex(const Function& function) const; |
RawFunction* LookupDynamicFunction(const String& name) const; |
RawFunction* LookupDynamicFunctionAllowPrivate(const String& name) const; |
@@ -994,6 +997,8 @@ class Class : public Object { |
RawArray* constants() const; |
+ RawFunction* InvocationDispatcherFunctionFromIndex(intptr_t idx) const; |
+ |
RawFunction* GetInvocationDispatcher(const String& target_name, |
const Array& args_desc, |
RawFunction::Kind kind) const; |
@@ -1599,6 +1604,8 @@ class Function : public Object { |
return KindBits::decode(raw_ptr()->kind_tag_); |
} |
+ static const char* KindToCString(RawFunction::Kind kind); |
+ |
bool is_static() const { return StaticBit::decode(raw_ptr()->kind_tag_); } |
bool is_const() const { return ConstBit::decode(raw_ptr()->kind_tag_); } |
bool is_external() const { return ExternalBit::decode(raw_ptr()->kind_tag_); } |
@@ -3243,6 +3250,7 @@ class Code : public Object { |
void SetStaticCallTargetCodeAt(uword pc, const Code& code) const; |
void Disassemble() const; |
+ void Disassemble(DisassemblyFormatter* formatter) const; |
class Comments : public ZoneAllocated { |
public: |