Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::FieldDependentArray Class Reference
Inheritance diagram for dart::FieldDependentArray:
dart::WeakCodeReferences dart::ValueObject

Public Member Functions

 FieldDependentArray (const Field &field)
 
virtual void UpdateArrayTo (const WeakArray &value)
 
virtual void ReportDeoptimization (const Code &code)
 
virtual void ReportSwitchingCode (const Code &code)
 
- Public Member Functions inherited from dart::WeakCodeReferences
 WeakCodeReferences (const WeakArray &value)
 
virtual ~WeakCodeReferences ()
 
void Register (const Code &value)
 
virtual void UpdateArrayTo (const WeakArray &array)=0
 
virtual void ReportDeoptimization (const Code &code)=0
 
virtual void ReportSwitchingCode (const Code &code)=0
 
void DisableCode (bool are_mutators_stopped)
 
bool HasCodes () const
 
- Public Member Functions inherited from dart::ValueObject
 ValueObject ()
 
 ~ValueObject ()
 

Detailed Description

Definition at line 12227 of file object.cc.

Constructor & Destructor Documentation

◆ FieldDependentArray()

dart::FieldDependentArray::FieldDependentArray ( const Field field)
inlineexplicit

Definition at line 12229 of file object.cc.

12230 : WeakCodeReferences(WeakArray::Handle(field.dependent_code())),
12231 field_(field) {}
static Object & Handle()
Definition: object.h:407
WeakCodeReferences(const WeakArray &value)
Definition: weak_code.h:20

Member Function Documentation

◆ ReportDeoptimization()

virtual void dart::FieldDependentArray::ReportDeoptimization ( const Code code)
inlinevirtual

Implements dart::WeakCodeReferences.

Definition at line 12237 of file object.cc.

12237 {
12238 if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
12239 Function& function = Function::Handle(code.function());
12240 THR_Print("Deoptimizing %s because guard on field %s failed.\n",
12241 function.ToFullyQualifiedCString(), field_.ToCString());
12242 }
12243 }
virtual const char * ToCString() const
Definition: object.h:366
#define THR_Print(format,...)
Definition: log.h:20
Dart_NativeFunction function
Definition: fuchsia.cc:51

◆ ReportSwitchingCode()

virtual void dart::FieldDependentArray::ReportSwitchingCode ( const Code code)
inlinevirtual

Implements dart::WeakCodeReferences.

Definition at line 12245 of file object.cc.

12245 {
12246 if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
12247 Function& function = Function::Handle(code.function());
12248 THR_Print(
12249 "Switching '%s' to unoptimized code because guard"
12250 " on field '%s' was violated.\n",
12251 function.ToFullyQualifiedCString(), field_.ToCString());
12252 }
12253 }

◆ UpdateArrayTo()

virtual void dart::FieldDependentArray::UpdateArrayTo ( const WeakArray value)
inlinevirtual

Implements dart::WeakCodeReferences.

Definition at line 12233 of file object.cc.

12233 {
12234 field_.set_dependent_code(value);
12235 }
void set_dependent_code(const WeakArray &array) const
Definition: object.cc:12220
uint8_t value

The documentation for this class was generated from the following file: