v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
keyed-store-generic.h
Go to the documentation of this file.
1
// Copyright 2016 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_IC_KEYED_STORE_GENERIC_H_
6
#define V8_IC_KEYED_STORE_GENERIC_H_
7
8
#include "
src/common/globals.h
"
9
#include "
src/compiler/code-assembler.h
"
10
11
namespace
v8
{
12
namespace
internal
{
13
14
class
KeyedStoreMegamorphicGenerator
{
15
public
:
16
static
void
Generate
(
compiler::CodeAssemblerState
* state);
17
};
18
19
class
KeyedStoreGenericGenerator
{
20
public
:
21
static
void
Generate
(
compiler::CodeAssemblerState
* state);
22
23
// Building block for fast path of Object.assign implementation.
24
static
void
SetProperty
(
compiler::CodeAssemblerState
* state,
25
TNode<Context>
context,
TNode<JSReceiver>
receiver
,
26
TNode<BoolT>
is_simple_receiver,
TNode<Name>
name,
27
TNode<Object>
value,
LanguageMode
language_mode);
28
29
// Same as above but more generic. I.e. the receiver can by anything and the
30
// key does not have to be unique. Essentially the same as KeyedStoreGeneric.
31
static
void
SetProperty
(
compiler::CodeAssemblerState
* state,
32
TNode<Context>
context,
TNode<JSAny>
receiver
,
33
TNode<Object>
key
,
TNode<Object>
value,
34
LanguageMode
language_mode);
35
36
static
void
CreateDataProperty
(
compiler::CodeAssemblerState
* state,
37
TNode<Context>
context,
38
TNode<JSObject>
receiver
,
TNode<Object>
key
,
39
TNode<Object>
value);
40
};
41
42
class
DefineKeyedOwnGenericGenerator
{
43
public
:
44
static
void
Generate
(
compiler::CodeAssemblerState
* state);
45
};
46
47
class
StoreICNoFeedbackGenerator
{
48
public
:
49
static
void
Generate
(
compiler::CodeAssemblerState
* state);
50
};
51
52
class
DefineNamedOwnICNoFeedbackGenerator
{
53
public
:
54
static
void
Generate
(
compiler::CodeAssemblerState
* state);
55
};
56
57
}
// namespace internal
58
}
// namespace v8
59
60
#endif
// V8_IC_KEYED_STORE_GENERIC_H_
v8::internal::DefineKeyedOwnGenericGenerator
Definition
keyed-store-generic.h:42
v8::internal::DefineKeyedOwnGenericGenerator::Generate
static void Generate(compiler::CodeAssemblerState *state)
Definition
keyed-store-generic.cc:218
v8::internal::DefineNamedOwnICNoFeedbackGenerator
Definition
keyed-store-generic.h:52
v8::internal::DefineNamedOwnICNoFeedbackGenerator::Generate
static void Generate(compiler::CodeAssemblerState *state)
Definition
keyed-store-generic.cc:231
v8::internal::KeyedStoreGenericGenerator
Definition
keyed-store-generic.h:19
v8::internal::KeyedStoreGenericGenerator::SetProperty
static void SetProperty(compiler::CodeAssemblerState *state, TNode< Context > context, TNode< JSReceiver > receiver, TNode< BoolT > is_simple_receiver, TNode< Name > name, TNode< Object > value, LanguageMode language_mode)
Definition
keyed-store-generic.cc:240
v8::internal::KeyedStoreGenericGenerator::CreateDataProperty
static void CreateDataProperty(compiler::CodeAssemblerState *state, TNode< Context > context, TNode< JSObject > receiver, TNode< Object > key, TNode< Object > value)
Definition
keyed-store-generic.cc:259
v8::internal::KeyedStoreGenericGenerator::Generate
static void Generate(compiler::CodeAssemblerState *state)
Definition
keyed-store-generic.cc:212
v8::internal::KeyedStoreMegamorphicGenerator
Definition
keyed-store-generic.h:14
v8::internal::KeyedStoreMegamorphicGenerator::Generate
static void Generate(compiler::CodeAssemblerState *state)
Definition
keyed-store-generic.cc:205
v8::internal::StoreICNoFeedbackGenerator
Definition
keyed-store-generic.h:47
v8::internal::StoreICNoFeedbackGenerator::Generate
static void Generate(compiler::CodeAssemblerState *state)
Definition
keyed-store-generic.cc:225
v8::internal::TNode
Definition
tnode.h:391
v8::internal::compiler::CodeAssemblerState
Definition
code-assembler.h:1852
code-assembler.h
globals.h
receiver
TNode< Object > receiver
Definition
js-call-reducer.cc:1498
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8::internal::key
int32_t key
Definition
external-reference.cc:1415
v8::internal::LanguageMode
LanguageMode
Definition
globals.h:752
v8
Definition
api-arguments-inl.h:19
src
ic
keyed-store-generic.h
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0