v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
builtins-promise-gen.cc
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
#include "
src/builtins/builtins-promise-gen.h
"
6
7
#include "
src/builtins/builtins-constructor-gen.h
"
8
#include "
src/builtins/builtins-iterator-gen.h
"
9
#include "
src/builtins/builtins-promise.h
"
10
#include "
src/builtins/builtins-utils-gen.h
"
11
#include "
src/builtins/builtins.h
"
12
#include "
src/codegen/code-stub-assembler-inl.h
"
13
#include "
src/objects/fixed-array.h
"
14
#include "
src/objects/js-objects.h
"
15
#include "
src/objects/js-promise.h
"
16
#include "
src/objects/objects-inl.h
"
17
#include "
src/objects/smi.h
"
18
19
namespace
v8
{
20
namespace
internal
{
21
22
void
PromiseBuiltinsAssembler::ZeroOutEmbedderOffsets
(
23
TNode<JSPromise>
promise) {
24
for
(
int
offset
= JSPromise::kHeaderSize;
25
offset
<
JSPromise::kSizeWithEmbedderFields
;
offset
+=
kTaggedSize
) {
26
StoreObjectFieldNoWriteBarrier
(promise,
offset
,
SmiConstant
(
Smi::zero
()));
27
}
28
}
29
30
TNode<HeapObject>
PromiseBuiltinsAssembler::AllocateJSPromise
(
31
TNode<Context>
context) {
32
return
Allocate
(
JSPromise::kSizeWithEmbedderFields
);
33
}
34
35
}
// namespace internal
36
}
// namespace v8
builtins-constructor-gen.h
builtins-iterator-gen.h
builtins-promise-gen.h
builtins-promise.h
builtins-utils-gen.h
builtins.h
v8::internal::CodeStubAssembler::Allocate
TNode< HeapObject > Allocate(TNode< IntPtrT > size, AllocationFlags flags=AllocationFlag::kNone)
Definition
code-stub-assembler.cc:1576
v8::internal::CodeStubAssembler::StoreObjectFieldNoWriteBarrier
void StoreObjectFieldNoWriteBarrier(TNode< HeapObject > object, TNode< IntPtrT > offset, TNode< T > value)
Definition
code-stub-assembler.h:1744
v8::internal::JSPromise::kSizeWithEmbedderFields
static const int kSizeWithEmbedderFields
Definition
js-promise.h:75
v8::internal::PromiseBuiltinsAssembler::AllocateJSPromise
TNode< HeapObject > AllocateJSPromise(TNode< Context > context)
Definition
builtins-promise-gen.cc:30
v8::internal::PromiseBuiltinsAssembler::ZeroOutEmbedderOffsets
void ZeroOutEmbedderOffsets(TNode< JSPromise > promise)
Definition
builtins-promise-gen.cc:22
v8::internal::Smi::zero
static constexpr Tagged< Smi > zero()
Definition
smi.h:99
v8::internal::TNode
Definition
tnode.h:391
v8::internal::compiler::CodeAssembler::SmiConstant
TNode< Smi > SmiConstant(Tagged< Smi > value)
Definition
code-assembler.cc:336
code-stub-assembler-inl.h
fixed-array.h
offset
int32_t offset
Definition
instruction-selector-ia32.cc:67
js-objects.h
js-promise.h
v8::internal::kTaggedSize
constexpr int kTaggedSize
Definition
globals.h:542
v8::internal::internal
internal
Definition
wasm-objects-inl.h:458
v8
Definition
api-arguments-inl.h:19
objects-inl.h
smi.h
src
builtins
builtins-promise-gen.cc
Generated on Sun Apr 6 2025 21:08:50 for v8 by
1.12.0