V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
keyed-store-generic.h
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/compiler/code-assembler.h"
9
#include "src/globals.h"
10
11
namespace
v8
{
12
namespace
internal {
13
14
class
KeyedStoreGenericGenerator
{
15
public
:
16
template
<
class
T>
17
using
TNode
=
compiler::TNode<T>
;
18
19
static
void
Generate(
compiler::CodeAssemblerState
* state);
20
21
// Building block for fast path of Object.assign implementation.
22
static
void
SetProperty(
compiler::CodeAssemblerState
* state,
23
TNode<Context>
context,
TNode<JSReceiver>
receiver,
24
TNode<BoolT>
is_simple_receiver,
TNode<Name>
name,
25
TNode<Object>
value, LanguageMode language_mode);
26
27
// Same as above but more generic. I.e. the receiver can by anything and the
28
// key does not have to be unique. Essentially the same as KeyedStoreGeneric.
29
static
void
SetProperty(
compiler::CodeAssemblerState
* state,
30
TNode<Context>
context,
TNode<Object>
receiver,
31
TNode<Object>
key,
TNode<Object>
value,
32
LanguageMode language_mode);
33
34
static
void
SetPropertyInLiteral(
compiler::CodeAssemblerState
* state,
35
TNode<Context>
context,
36
TNode<JSObject>
receiver,
TNode<Object>
key,
37
TNode<Object>
value);
38
};
39
40
class
StoreICUninitializedGenerator
{
41
public
:
42
static
void
Generate(
compiler::CodeAssemblerState
* state);
43
};
44
45
}
// namespace internal
46
}
// namespace v8
47
48
#endif // V8_IC_KEYED_STORE_GENERIC_H_
v8::internal::compiler::CodeAssemblerState
Definition:
code-assembler.h:1599
v8::internal::StoreICUninitializedGenerator
Definition:
keyed-store-generic.h:40
v8
Definition:
libplatform.h:13
v8::internal::compiler::TNode
Definition:
code-assembler.h:455
v8::internal::KeyedStoreGenericGenerator
Definition:
keyed-store-generic.h:14
v8
src
ic
keyed-store-generic.h
Generated on Tue Dec 25 2018 14:39:00 by
1.8.14