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"
12
13namespace v8 {
14namespace internal {
15
16#define ENUM_ELEMENT(Name) k##Name,
17#define ENUM_STRUCT_ELEMENT(NAME, Name, name) k##Name,
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.
36 Address raw_location);
37
38} // namespace internal
39} // namespace v8
40
41#endif // V8_OBJECTS_OBJECT_TYPE_H_
Address CheckObjectType(Address raw_value, Address raw_type, Address raw_location)
#define HEAP_OBJECT_TYPE_LIST(V)
#define OBJECT_TYPE_LIST(V)
#define ENUM_STRUCT_ELEMENT(NAME, Name, name)
Definition object-type.h:17
#define ENUM_ELEMENT(Name)
Definition object-type.h:16
#define STRUCT_LIST(V)
#define V8_EXPORT_PRIVATE
Definition macros.h:460