| Index: dart/runtime/vm/object.h
|
| ===================================================================
|
| --- dart/runtime/vm/object.h (revision 31530)
|
| +++ dart/runtime/vm/object.h (working copy)
|
| @@ -31,6 +31,7 @@
|
| class Assembler;
|
| class Closure;
|
| class Code;
|
| +class DisassemblyFormatter;
|
| class DeoptInstr;
|
| class FinalizablePersistentHandle;
|
| class LocalScope;
|
| @@ -878,6 +879,8 @@
|
|
|
| RawArray* fields() const { return raw_ptr()->fields_; }
|
| void SetFields(const Array& value) const;
|
| + intptr_t FindFieldIndex(const Field& field) const;
|
| + RawField* FieldFromIndex(intptr_t idx) const;
|
|
|
| // Returns an array of all fields of this class and its superclasses indexed
|
| // by offset in words.
|
| @@ -889,12 +892,18 @@
|
| RawArray* functions() const { return raw_ptr()->functions_; }
|
| void SetFunctions(const Array& value) const;
|
| void AddFunction(const Function& function) const;
|
| + intptr_t FindFunctionIndex(const Function& function) const;
|
| + RawFunction* FunctionFromIndex(intptr_t idx) const;
|
| + intptr_t FindImplicitClosureFunctionIndex(const Function& needle) const;
|
| + RawFunction* ImplicitClosureFunctionFromIndex(intptr_t idx) 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(const Function& function) const;
|
| + RawFunction* ClosureFunctionFromIndex(intptr_t idx) const;
|
|
|
| RawFunction* LookupDynamicFunction(const String& name) const;
|
| RawFunction* LookupDynamicFunctionAllowPrivate(const String& name) const;
|
| @@ -991,6 +1000,9 @@
|
|
|
| RawArray* constants() const;
|
|
|
| + intptr_t FindInvocationDispatcherFunctionIndex(const Function& needle) const;
|
| + RawFunction* InvocationDispatcherFunctionFromIndex(intptr_t idx) const;
|
| +
|
| RawFunction* GetInvocationDispatcher(const String& target_name,
|
| const Array& args_desc,
|
| RawFunction::Kind kind) const;
|
| @@ -1209,7 +1221,7 @@
|
| return this->raw();
|
| }
|
|
|
| - // Do not canonicalize InstantiatedTypeArguments or null vectors.
|
| + // Null vectors are canonical.
|
| virtual RawAbstractTypeArguments* Canonicalize() const { return this->raw(); }
|
|
|
| // The name of this type argument vector, e.g. "<T, dynamic, List<T>, Smi>".
|
| @@ -1383,6 +1395,7 @@
|
| return false;
|
| }
|
| virtual bool IsBounded() const { return false; } // Bounds were checked.
|
| + virtual RawAbstractTypeArguments* Canonicalize() const;
|
|
|
| RawAbstractTypeArguments* uninstantiated_type_arguments() const {
|
| return raw_ptr()->uninstantiated_type_arguments_;
|
| @@ -1595,6 +1608,8 @@
|
| 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_); }
|
| @@ -3238,7 +3253,7 @@
|
| // Aborts if there is no static call at 'pc'.
|
| void SetStaticCallTargetCodeAt(uword pc, const Code& code) const;
|
|
|
| - void Disassemble() const;
|
| + void Disassemble(DisassemblyFormatter* formatter = NULL) const;
|
|
|
| class Comments : public ZoneAllocated {
|
| public:
|
| @@ -3364,8 +3379,10 @@
|
| : FindObjectVisitor(Isolate::Current()), pc_(pc) { }
|
| virtual ~FindRawCodeVisitor() { }
|
|
|
| + virtual uword filter_addr() const { return pc_; }
|
| +
|
| // Check if object matches find condition.
|
| - virtual bool FindObject(RawObject* obj);
|
| + virtual bool FindObject(RawObject* obj) const;
|
|
|
| private:
|
| const uword pc_;
|
| @@ -5071,7 +5088,8 @@
|
| intptr_t len);
|
|
|
| static RawString* EscapeSpecialCharacters(const String& str);
|
| -
|
| + static RawString* EncodeURI(const String& str);
|
| + static RawString* DecodeURI(const String& str);
|
| static RawString* Concat(const String& str1,
|
| const String& str2,
|
| Heap::Space space = Heap::kNew);
|
| @@ -5162,7 +5180,6 @@
|
| *CharAddr(str, index) = code_point;
|
| }
|
| static RawOneByteString* EscapeSpecialCharacters(const String& str);
|
| -
|
| // We use the same maximum elements for all strings.
|
| static const intptr_t kBytesPerElement = 1;
|
| static const intptr_t kMaxElements = String::kMaxElements;
|
| @@ -5386,6 +5403,8 @@
|
| }
|
|
|
| static RawOneByteString* EscapeSpecialCharacters(const String& str);
|
| + static RawOneByteString* EncodeURI(const String& str);
|
| + static RawOneByteString* DecodeURI(const String& str);
|
|
|
| static const ClassId kClassId = kExternalOneByteStringCid;
|
|
|
|
|