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

Public Member Functions

 CHACodeArray (const Class &cls)
 
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 4356 of file object.cc.

Constructor & Destructor Documentation

◆ CHACodeArray()

dart::CHACodeArray::CHACodeArray ( const Class cls)
inlineexplicit

Definition at line 4358 of file object.cc.

4359 : WeakCodeReferences(WeakArray::Handle(cls.dependent_code())),
4360 cls_(cls) {}
static Object & Handle()
Definition: object.h:407
WeakCodeReferences(const WeakArray &value)
Definition: weak_code.h:20

Member Function Documentation

◆ ReportDeoptimization()

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

Implements dart::WeakCodeReferences.

Definition at line 4367 of file object.cc.

4367 {
4368 if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
4369 Function& function = Function::Handle(code.function());
4370 THR_Print("Deoptimizing %s because CHA optimized (%s).\n",
4371 function.ToFullyQualifiedCString(), cls_.ToCString());
4372 }
4373 }
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::CHACodeArray::ReportSwitchingCode ( const Code code)
inlinevirtual

Implements dart::WeakCodeReferences.

Definition at line 4375 of file object.cc.

4375 {
4376 if (FLAG_trace_deoptimization || FLAG_trace_deoptimization_verbose) {
4377 Function& function = Function::Handle(code.function());
4378 THR_Print(
4379 "Switching %s to unoptimized code because CHA invalid"
4380 " (%s)\n",
4381 function.ToFullyQualifiedCString(), cls_.ToCString());
4382 }
4383 }

◆ UpdateArrayTo()

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

Implements dart::WeakCodeReferences.

Definition at line 4362 of file object.cc.

4362 {
4363 // TODO(fschneider): Fails for classes in the VM isolate.
4365 }
void set_dependent_code(const WeakArray &array) const
Definition: object.cc:4426
uint8_t value

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