v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::Oddball Class Reference

#include <oddball.h>

Inheritance diagram for v8::internal::Oddball:
Collaboration diagram for v8::internal::Oddball:

Public Member Functions

void set_to_number_raw_as_bits (uint64_t bits)
 
Tagged< Stringto_string () const
 
void set_to_string (Tagged< String > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Tagged< Numberto_number () const
 
void set_to_number (Tagged< Number > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Tagged< Stringtype_of () const
 
void set_type_of (Tagged< String > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
uint8_t kind () const
 
void set_kind (uint8_t kind)
 
- Public Member Functions inherited from v8::internal::HeapObjectLayout
 HeapObjectLayout ()=delete
 
Tagged< Mapmap () const
 
Tagged< Mapmap (AcquireLoadTag) const
 
MapWord map_word (RelaxedLoadTag) const
 
void set_map (Isolate *isolate, Tagged< Map > value)
 
template<typename IsolateT >
void set_map (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
template<typename IsolateT >
void set_map_safe_transition (IsolateT *isolate, Tagged< Map > value, ReleaseStoreTag)
 
void set_map_safe_transition_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
template<typename IsolateT >
void set_map_after_allocation (IsolateT *isolate, Tagged< Map > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void set_map_no_write_barrier (Isolate *isolate, Tagged< Map > value, RelaxedStoreTag=kRelaxedStore)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, ReleaseStoreTag)
 
void set_map_word_forwarded (Tagged< HeapObject > target_object, RelaxedStoreTag)
 
Address ptr () const
 
Address address () const
 
ReadOnlyRoots EarlyGetReadOnlyRoots () const
 
int Size () const
 
V8_EXPORT_PRIVATE int SizeFromMap (Tagged< Map > map) const
 
WriteBarrierMode GetWriteBarrierMode (const DisallowGarbageCollection &promise)
 

Static Public Member Functions

static V8_WARN_UNUSED_RESULT Handle< NumberToNumber (Isolate *isolate, DirectHandle< Oddball > input)
 
static void Initialize (Isolate *isolate, DirectHandle< Oddball > oddball, const char *to_string, DirectHandle< Number > to_number, const char *type_of, uint8_t kind)
 

Static Public Attributes

static constexpr uint8_t kFalse = 0
 
static constexpr uint8_t kTrue = 1
 
static constexpr uint8_t kNotBooleanMask = static_cast<uint8_t>(~1)
 
static constexpr uint8_t kNull = 3
 
static constexpr uint8_t kUndefined = 4
 

Private Attributes

UnalignedDoubleMember to_number_raw_
 
TaggedMember< Stringto_string_
 
TaggedMember< Numberto_number_
 
TaggedMember< Stringtype_of_
 
TaggedMember< Smikind_
 

Friends

struct ObjectTraits< Oddball >
 
struct OffsetsForDebug
 
class CodeStubAssembler
 
class maglev::MaglevAssembler
 
class compiler::AccessBuilder
 
class TorqueGeneratedOddballAsserts
 

Detailed Description

Definition at line 17 of file oddball.h.

Member Function Documentation

◆ Initialize()

void v8::internal::Oddball::Initialize ( Isolate * isolate,
DirectHandle< Oddball > oddball,
const char * to_string,
DirectHandle< Number > to_number,
const char * type_of,
uint8_t kind )
static

Definition at line 4274 of file objects.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kind()

uint8_t v8::internal::Oddball::kind ( ) const
inline

Definition at line 47 of file oddball-inl.h.

Here is the caller graph for this function:

◆ set_kind()

void v8::internal::Oddball::set_kind ( uint8_t kind)
inline

Definition at line 49 of file oddball-inl.h.

Here is the call graph for this function:

◆ set_to_number()

void v8::internal::Oddball::set_to_number ( Tagged< Number > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 38 of file oddball-inl.h.

◆ set_to_number_raw_as_bits()

void v8::internal::Oddball::set_to_number_raw_as_bits ( uint64_t bits)
inline

Definition at line 27 of file oddball-inl.h.

Here is the call graph for this function:

◆ set_to_string()

void v8::internal::Oddball::set_to_string ( Tagged< String > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 33 of file oddball-inl.h.

◆ set_type_of()

void v8::internal::Oddball::set_type_of ( Tagged< String > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 43 of file oddball-inl.h.

◆ to_number()

Tagged< Number > v8::internal::Oddball::to_number ( ) const
inline

Definition at line 37 of file oddball-inl.h.

Here is the caller graph for this function:

◆ to_string()

Tagged< String > v8::internal::Oddball::to_string ( ) const
inline

Definition at line 32 of file oddball-inl.h.

Here is the caller graph for this function:

◆ ToNumber()

Handle< Number > v8::internal::Oddball::ToNumber ( Isolate * isolate,
DirectHandle< Oddball > input )
inlinestatic

Definition at line 54 of file oddball-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ type_of()

Tagged< String > v8::internal::Oddball::type_of ( ) const
inline

Definition at line 42 of file oddball-inl.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ CodeStubAssembler

friend class CodeStubAssembler
friend

Definition at line 64 of file oddball.h.

◆ compiler::AccessBuilder

friend class compiler::AccessBuilder
friend

Definition at line 66 of file oddball.h.

◆ maglev::MaglevAssembler

friend class maglev::MaglevAssembler
friend

Definition at line 65 of file oddball.h.

◆ ObjectTraits< Oddball >

friend struct ObjectTraits< Oddball >
friend

Definition at line 57 of file oddball.h.

◆ OffsetsForDebug

friend struct OffsetsForDebug
friend

Definition at line 63 of file oddball.h.

◆ TorqueGeneratedOddballAsserts

friend class TorqueGeneratedOddballAsserts
friend

Definition at line 67 of file oddball.h.

Member Data Documentation

◆ kFalse

uint8_t v8::internal::Oddball::kFalse = 0
staticconstexpr

Definition at line 53 of file oddball.h.

◆ kind_

TaggedMember<Smi> v8::internal::Oddball::kind_
private

Definition at line 73 of file oddball.h.

◆ kNotBooleanMask

uint8_t v8::internal::Oddball::kNotBooleanMask = static_cast<uint8_t>(~1)
staticconstexpr

Definition at line 55 of file oddball.h.

◆ kNull

uint8_t v8::internal::Oddball::kNull = 3
staticconstexpr

Definition at line 56 of file oddball.h.

◆ kTrue

uint8_t v8::internal::Oddball::kTrue = 1
staticconstexpr

Definition at line 54 of file oddball.h.

◆ kUndefined

uint8_t v8::internal::Oddball::kUndefined = 4
staticconstexpr

Definition at line 57 of file oddball.h.

◆ to_number_

TaggedMember<Number> v8::internal::Oddball::to_number_
private

Definition at line 71 of file oddball.h.

◆ to_number_raw_

UnalignedDoubleMember v8::internal::Oddball::to_number_raw_
private

Definition at line 69 of file oddball.h.

◆ to_string_

TaggedMember<String> v8::internal::Oddball::to_string_
private

Definition at line 70 of file oddball.h.

◆ type_of_

TaggedMember<String> v8::internal::Oddball::type_of_
private

Definition at line 72 of file oddball.h.


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