Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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 1300 of file raw_object.h.

Member Enumeration Documentation

◆ UnboxedState

Constructor & Destructor Documentation

◆ UnboxedParameterBitmap() [1/3]

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

Definition at line 1313 of file raw_object.h.

1313: bitmap_(0) {}

◆ UnboxedParameterBitmap() [2/3]

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

Definition at line 1314 of file raw_object.h.

1314: bitmap_(bitmap) {}

◆ 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 1342 of file raw_object.h.

1342 {
1343 return (bitmap_ >> kBitsPerElement) != 0;
1344 }

◆ IsEmpty()

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

Definition at line 1340 of file raw_object.h.

1340{ return bitmap_ == 0; }

◆ IsUnboxed()

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

Definition at line 1318 of file raw_object.h.

1318 {
1319 return At(position) != kBoxed;
1320 }

◆ IsUnboxedDouble()

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

Definition at line 1324 of file raw_object.h.

1324 {
1325 return At(position) == kUnboxedDouble;
1326 }

◆ IsUnboxedInteger()

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

Definition at line 1321 of file raw_object.h.

1321 {
1322 return At(position) == kUnboxedInt;
1323 }

◆ IsUnboxedRecord()

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

Definition at line 1327 of file raw_object.h.

1327 {
1328 return At(position) == kUnboxedRecord;
1329 }

◆ operator=()

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

◆ Reset()

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

Definition at line 1341 of file raw_object.h.

1341{ bitmap_ = 0; }

◆ SetUnboxedDouble()

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

Definition at line 1333 of file raw_object.h.

1333 {
1334 SetAt(position, kUnboxedDouble);
1335 }

◆ SetUnboxedInteger()

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

Definition at line 1330 of file raw_object.h.

1330 {
1331 SetAt(position, kUnboxedInt);
1332 }

◆ SetUnboxedRecord()

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

Definition at line 1336 of file raw_object.h.

1336 {
1337 SetAt(position, kUnboxedRecord);
1338 }

◆ Value()

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

Definition at line 1339 of file raw_object.h.

1339{ return bitmap_; }

Member Data Documentation

◆ kBitsPerElement

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

Definition at line 1308 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 1310 of file raw_object.h.

◆ kElementBitmask

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

Definition at line 1309 of file raw_object.h.


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