Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
dart::DeferredDouble Class Reference

#include <deferred_objects.h>

Inheritance diagram for dart::DeferredDouble:
dart::DeferredSlot

Public Member Functions

 DeferredDouble (double value, ObjectPtr *slot, DeferredSlot *next)
 
virtual void Materialize (DeoptContext *deopt_context)
 
double value () const
 
- Public Member Functions inherited from dart::DeferredSlot
 DeferredSlot (ObjectPtr *slot, DeferredSlot *next)
 
virtual ~DeferredSlot ()
 
ObjectPtrslot () const
 
DeferredSlotnext () const
 
virtual void Materialize (DeoptContext *deopt_context)=0
 

Detailed Description

Definition at line 39 of file deferred_objects.h.

Constructor & Destructor Documentation

◆ DeferredDouble()

dart::DeferredDouble::DeferredDouble ( double  value,
ObjectPtr slot,
DeferredSlot next 
)
inline

Definition at line 41 of file deferred_objects.h.

42 : DeferredSlot(slot, next), value_(value) {}
double value() const
ObjectPtr * slot() const
DeferredSlot * next() const
DeferredSlot(ObjectPtr *slot, DeferredSlot *next)

Member Function Documentation

◆ Materialize()

void dart::DeferredDouble::Materialize ( DeoptContext deopt_context)
virtual

Implements dart::DeferredSlot.

Definition at line 21 of file deferred_objects.cc.

21 {
22 DoublePtr* double_slot = reinterpret_cast<DoublePtr*>(slot());
23 *double_slot = Double::New(value());
24
25 if (FLAG_trace_deoptimization_verbose) {
26 OS::PrintErr("materializing double at %" Px ": %g\n",
27 reinterpret_cast<uword>(slot()), value());
28 }
29}
static DoublePtr New(double d, Heap::Space space=Heap::kNew)
Definition: object.cc:23402
static void static void PrintErr(const char *format,...) PRINTF_ATTRIBUTE(1
uintptr_t uword
Definition: globals.h:501
#define Px
Definition: globals.h:410

◆ value()

double dart::DeferredDouble::value ( ) const
inline

Definition at line 46 of file deferred_objects.h.

46{ return value_; }

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