v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
tagged-value.h
Go to the documentation of this file.
1
// Copyright 2019 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef V8_OBJECTS_TAGGED_VALUE_H_
6
#define V8_OBJECTS_TAGGED_VALUE_H_
7
8
#include "
src/objects/objects.h
"
9
10
#include "
include/v8-internal.h
"
11
#include "
src/objects/tagged-impl.h
"
12
13
namespace
v8
{
14
namespace
internal
{
15
16
// Almost same as Object but this one deals with in-heap and potentially
17
// compressed representation of Objects and provide only limited functionality
18
// which doesn't require decompression.
19
class
StrongTaggedValue
20
:
public
TaggedImpl
<HeapObjectReferenceType::STRONG, Tagged_t> {
21
public
:
22
constexpr
StrongTaggedValue
() :
TaggedImpl
() {}
23
explicit
constexpr
StrongTaggedValue
(
Tagged_t
ptr
) :
TaggedImpl
(
ptr
) {}
24
explicit
StrongTaggedValue
(
Tagged<Object>
o);
25
26
inline
static
Tagged<Object>
ToObject
(
Isolate
* isolate,
27
StrongTaggedValue
object
);
28
};
29
30
// Almost same as Tagged<MaybeObject> but this one deals with in-heap and
31
// potentially compressed representation of Objects and provide only limited
32
// functionality which doesn't require decompression.
33
class
TaggedValue
:
public
TaggedImpl
<HeapObjectReferenceType::WEAK, Tagged_t> {
34
public
:
35
constexpr
TaggedValue
() :
TaggedImpl
() {}
36
explicit
constexpr
TaggedValue
(
Tagged_t
ptr
) :
TaggedImpl
(
ptr
) {}
37
explicit
TaggedValue
(
Tagged<MaybeObject>
o);
38
39
inline
static
Tagged<MaybeObject>
ToMaybeObject
(
Isolate
* isolate,
40
TaggedValue
object
);
41
};
42
43
}
// namespace internal
44
}
// namespace v8
45
46
#endif
// V8_OBJECTS_TAGGED_VALUE_H_
v8::internal::Isolate
Definition
isolate.h:586
v8::internal::StrongTaggedValue
Definition
tagged-value.h:20
v8::internal::StrongTaggedValue::StrongTaggedValue
constexpr StrongTaggedValue()
Definition
tagged-value.h:22
v8::internal::StrongTaggedValue::StrongTaggedValue
constexpr StrongTaggedValue(Tagged_t ptr)
Definition
tagged-value.h:23
v8::internal::StrongTaggedValue::ToObject
static Tagged< Object > ToObject(Isolate *isolate, StrongTaggedValue object)
Definition
tagged-value-inl.h:32
v8::internal::TaggedImpl
Definition
tagged-impl.h:33
v8::internal::TaggedImpl< HeapObjectReferenceType::STRONG, Tagged_t >::ptr
V8_INLINE constexpr Tagged_t ptr() const
Definition
tagged-impl.h:114
v8::internal::TaggedValue
Definition
tagged-value.h:33
v8::internal::TaggedValue::TaggedValue
constexpr TaggedValue(Tagged_t ptr)
Definition
tagged-value.h:36
v8::internal::TaggedValue::TaggedValue
constexpr TaggedValue()
Definition
tagged-value.h:35
v8::internal::TaggedValue::ToMaybeObject
static Tagged< MaybeObject > ToMaybeObject(Isolate *isolate, TaggedValue object)
Definition
tagged-value-inl.h:52
v8::internal::Tagged
Definition
waiter-queue-node.h:21
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::Tagged_t
Address Tagged_t
Definition
globals.h:547
v8
Definition
api-arguments-inl.h:19
objects.h
tagged-impl.h
v8-internal.h
src
objects
tagged-value.h
Generated on Sun Apr 6 2025 21:08:56 for v8 by
1.12.0