Flutter Engine
The Flutter Engine
Public Types | Public Member Functions | Static Public Attributes | List of all members
dart::UntaggedFunction::UnboxedParameterBitmap Class Reference

#include <raw_object.h>

Public Types

enum  UnboxedState { kBoxed , kUnboxedInt , kUnboxedDouble , kUnboxedRecord }
 

Public Member Functions

 UnboxedParameterBitmap ()
 
 UnboxedParameterBitmap (uint64_t bitmap)
 
 UnboxedParameterBitmap (const UnboxedParameterBitmap &)=default
 
UnboxedParameterBitmapoperator= (const UnboxedParameterBitmap &)=default
 
DART_FORCE_INLINE bool IsUnboxed (intptr_t position) const
 
DART_FORCE_INLINE bool IsUnboxedInteger (intptr_t position) const
 
DART_FORCE_INLINE bool IsUnboxedDouble (intptr_t position) const
 
DART_FORCE_INLINE bool IsUnboxedRecord (intptr_t position) const
 
DART_FORCE_INLINE void SetUnboxedInteger (intptr_t position)
 
DART_FORCE_INLINE void SetUnboxedDouble (intptr_t position)
 
DART_FORCE_INLINE void SetUnboxedRecord (intptr_t position)
 
DART_FORCE_INLINE uint64_t Value () const
 
DART_FORCE_INLINE bool IsEmpty () const
 
DART_FORCE_INLINE void Reset ()
 
DART_FORCE_INLINE bool HasUnboxedParameters () const
 

Static Public Attributes

static constexpr intptr_t kBitsPerElement = 2
 
static constexpr uint64_t kElementBitmask = (1 << kBitsPerElement) - 1
 
static constexpr intptr_t kCapacity
 

Detailed Description

Definition at line 1321 of file raw_object.h.

Member Enumeration Documentation

◆ UnboxedState

Enumerator
kBoxed 
kUnboxedInt 
kUnboxedDouble 
kUnboxedRecord 

Definition at line 1323 of file raw_object.h.

Constructor & Destructor Documentation

◆ UnboxedParameterBitmap() [1/3]

dart::UntaggedFunction::UnboxedParameterBitmap::UnboxedParameterBitmap ( )
inline

Definition at line 1334 of file raw_object.h.

1334: bitmap_(0) {}

◆ UnboxedParameterBitmap() [2/3]

dart::UntaggedFunction::UnboxedParameterBitmap::UnboxedParameterBitmap ( uint64_t  bitmap)
inlineexplicit

Definition at line 1335 of file raw_object.h.

1335: bitmap_(bitmap) {}
Definition: bitmap.py:1

◆ UnboxedParameterBitmap() [3/3]

dart::UntaggedFunction::UnboxedParameterBitmap::UnboxedParameterBitmap ( const UnboxedParameterBitmap )
default

Member Function Documentation

◆ HasUnboxedParameters()

DART_FORCE_INLINE bool dart::UntaggedFunction::UnboxedParameterBitmap::HasUnboxedParameters ( ) const
inline

Definition at line 1363 of file raw_object.h.

1363 {
1364 return (bitmap_ >> kBitsPerElement) != 0;
1365 }

◆ IsEmpty()

DART_FORCE_INLINE bool dart::UntaggedFunction::UnboxedParameterBitmap::IsEmpty ( ) const
inline

Definition at line 1361 of file raw_object.h.

1361{ return bitmap_ == 0; }

◆ IsUnboxed()

DART_FORCE_INLINE bool dart::UntaggedFunction::UnboxedParameterBitmap::IsUnboxed ( intptr_t  position) const
inline

Definition at line 1339 of file raw_object.h.

1339 {
1340 return At(position) != kBoxed;
1341 }

◆ IsUnboxedDouble()

DART_FORCE_INLINE bool dart::UntaggedFunction::UnboxedParameterBitmap::IsUnboxedDouble ( intptr_t  position) const
inline

Definition at line 1345 of file raw_object.h.

1345 {
1346 return At(position) == kUnboxedDouble;
1347 }

◆ IsUnboxedInteger()

DART_FORCE_INLINE bool dart::UntaggedFunction::UnboxedParameterBitmap::IsUnboxedInteger ( intptr_t  position) const
inline

Definition at line 1342 of file raw_object.h.

1342 {
1343 return At(position) == kUnboxedInt;
1344 }

◆ IsUnboxedRecord()

DART_FORCE_INLINE bool dart::UntaggedFunction::UnboxedParameterBitmap::IsUnboxedRecord ( intptr_t  position) const
inline

Definition at line 1348 of file raw_object.h.

1348 {
1349 return At(position) == kUnboxedRecord;
1350 }

◆ operator=()

UnboxedParameterBitmap & dart::UntaggedFunction::UnboxedParameterBitmap::operator= ( const UnboxedParameterBitmap )
default

◆ Reset()

DART_FORCE_INLINE void dart::UntaggedFunction::UnboxedParameterBitmap::Reset ( )
inline

Definition at line 1362 of file raw_object.h.

1362{ bitmap_ = 0; }

◆ SetUnboxedDouble()

DART_FORCE_INLINE void dart::UntaggedFunction::UnboxedParameterBitmap::SetUnboxedDouble ( intptr_t  position)
inline

Definition at line 1354 of file raw_object.h.

1354 {
1355 SetAt(position, kUnboxedDouble);
1356 }

◆ SetUnboxedInteger()

DART_FORCE_INLINE void dart::UntaggedFunction::UnboxedParameterBitmap::SetUnboxedInteger ( intptr_t  position)
inline

Definition at line 1351 of file raw_object.h.

1351 {
1352 SetAt(position, kUnboxedInt);
1353 }

◆ SetUnboxedRecord()

DART_FORCE_INLINE void dart::UntaggedFunction::UnboxedParameterBitmap::SetUnboxedRecord ( intptr_t  position)
inline

Definition at line 1357 of file raw_object.h.

1357 {
1358 SetAt(position, kUnboxedRecord);
1359 }

◆ Value()

DART_FORCE_INLINE uint64_t dart::UntaggedFunction::UnboxedParameterBitmap::Value ( ) const
inline

Definition at line 1360 of file raw_object.h.

1360{ return bitmap_; }

Member Data Documentation

◆ kBitsPerElement

constexpr intptr_t dart::UntaggedFunction::UnboxedParameterBitmap::kBitsPerElement = 2
staticconstexpr

Definition at line 1329 of file raw_object.h.

◆ kCapacity

constexpr intptr_t dart::UntaggedFunction::UnboxedParameterBitmap::kCapacity
staticconstexpr
Initial value:
=
(kBitsPerByte * sizeof(uint64_t)) / kBitsPerElement
constexpr intptr_t kBitsPerByte
Definition: globals.h:463

Definition at line 1331 of file raw_object.h.

◆ kElementBitmask

constexpr uint64_t dart::UntaggedFunction::UnboxedParameterBitmap::kElementBitmask = (1 << kBitsPerElement) - 1
staticconstexpr

Definition at line 1330 of file raw_object.h.


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