v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
object-type.h
Go to the documentation of this file.
1
// Copyright 2021 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_OBJECT_TYPE_H_
6
#define V8_OBJECTS_OBJECT_TYPE_H_
7
8
#include "
src/base/macros.h
"
9
#include "
src/common/globals.h
"
10
#include "
src/objects/object-list-macros.h
"
11
#include "
src/objects/objects-definitions.h
"
12
13
namespace
v8
{
14
namespace
internal
{
15
16
#define ENUM_ELEMENT(Name) k##Name,
17
#define ENUM_STRUCT_ELEMENT(NAME, Name, name) k##Name,
18
enum class
ObjectType
{
19
ENUM_ELEMENT
(
Object
)
//
20
ENUM_ELEMENT
(
Smi
)
//
21
ENUM_ELEMENT
(
TaggedIndex
)
//
22
ENUM_ELEMENT
(
HeapObject
)
//
23
ENUM_ELEMENT
(
HeapObjectReference
)
//
24
OBJECT_TYPE_LIST
(
ENUM_ELEMENT
)
//
25
HEAP_OBJECT_TYPE_LIST
(
ENUM_ELEMENT
)
//
26
STRUCT_LIST
(
ENUM_STRUCT_ELEMENT
)
//
27
};
28
#undef ENUM_ELEMENT
29
#undef ENUM_STRUCT_ELEMENT
30
31
// {raw_value} must be a tagged Object.
32
// {raw_type} must be a tagged Smi.
33
// {raw_location} must be a tagged String.
34
// Returns a tagged Smi.
35
V8_EXPORT_PRIVATE
Address
CheckObjectType
(
Address
raw_value,
Address
raw_type,
36
Address
raw_location);
37
38
}
// namespace internal
39
}
// namespace v8
40
41
#endif
// V8_OBJECTS_OBJECT_TYPE_H_
v8::internal::HeapObject
Definition
heap-object.h:146
v8::internal::MaybeWeak
Definition
tagged.h:84
v8::internal::Object
Definition
objects.h:128
v8::internal::Smi
Definition
smi.h:25
v8::internal::TaggedIndex
Definition
tagged-index.h:36
globals.h
v8::internal::CheckObjectType
Address CheckObjectType(Address raw_value, Address raw_type, Address raw_location)
Definition
object-type.cc:14
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::ObjectType
ObjectType
Definition
object-type.h:18
v8::internal::Address
Address
Definition
api-callbacks-inl.h:36
v8
Definition
api-arguments-inl.h:19
object-list-macros.h
HEAP_OBJECT_TYPE_LIST
#define HEAP_OBJECT_TYPE_LIST(V)
Definition
object-list-macros.h:459
OBJECT_TYPE_LIST
#define OBJECT_TYPE_LIST(V)
Definition
object-list-macros.h:487
ENUM_STRUCT_ELEMENT
#define ENUM_STRUCT_ELEMENT(NAME, Name, name)
Definition
object-type.h:17
ENUM_ELEMENT
#define ENUM_ELEMENT(Name)
Definition
object-type.h:16
objects-definitions.h
STRUCT_LIST
#define STRUCT_LIST(V)
Definition
objects-definitions.h:189
macros.h
V8_EXPORT_PRIVATE
#define V8_EXPORT_PRIVATE
Definition
macros.h:460
src
objects
object-type.h
Generated on Sun Apr 6 2025 21:08:56 for v8 by
1.12.0