v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
builtins-object-gen.h
Go to the documentation of this file.
1// Copyright 2022 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_BUILTINS_BUILTINS_OBJECT_GEN_H_
6#define V8_BUILTINS_BUILTINS_OBJECT_GEN_H_
7
9
10namespace v8 {
11namespace internal {
12
13// -----------------------------------------------------------------------------
14// ES6 section 19.1 Object Objects
15
17 public:
20
22 TNode<Object> desc);
23
24 protected:
26
27 // TODO(v8:11167) remove |context| and |object| once OrderedNameDictionary
28 // supported.
30 TNode<Object> object,
31 TNode<HeapObject> name_dictionary, Handle<Name> name,
32 TNode<Object> value, Label* bailout);
36 TNode<Object> raw_value,
37 TNode<Word32T> details,
38 Label* if_bailout);
40 TNode<Context> context, TNode<Object> raw_value, TNode<Word32T> details,
41 Label* if_bailout);
45 TNode<BoolT> enumerable,
46 TNode<BoolT> configurable);
48 TNode<Object> value,
49 TNode<BoolT> writable,
50 TNode<BoolT> enumerable,
51 TNode<BoolT> configurable);
53 Label* if_bailout);
54};
55
56} // namespace internal
57} // namespace v8
58
59#endif // V8_BUILTINS_BUILTINS_OBJECT_GEN_H_
PropertyT * getter
ObjectBuiltinsAssembler(compiler::CodeAssemblerState *state)
TNode< HeapObject > GetAccessorOrUndefined(TNode< HeapObject > accessor, Label *if_bailout)
TNode< PropertyDescriptorObject > DescriptorFromPropertyDetails(TNode< Context > context, TNode< Object > raw_value, TNode< Word32T > details, Label *if_bailout)
TNode< JSObject > ConstructDataDescriptor(TNode< Context > context, TNode< Object > value, TNode< BoolT > writable, TNode< BoolT > enumerable, TNode< BoolT > configurable)
TNode< JSObject > FromPropertyDetails(TNode< Context > context, TNode< Object > raw_value, TNode< Word32T > details, Label *if_bailout)
TNode< Union< Undefined, JSObject > > FromPropertyDescriptor(TNode< Context >, TNode< Object > desc)
TNode< JSObject > ConstructAccessorDescriptor(TNode< Context > context, TNode< Object > getter, TNode< Object > setter, TNode< BoolT > enumerable, TNode< BoolT > configurable)
void AddToDictionaryIf(TNode< BoolT > condition, TNode< Context > context, TNode< Object > object, TNode< HeapObject > name_dictionary, Handle< Name > name, TNode< Object > value, Label *bailout)
void ReturnToStringFormat(TNode< Context > context, TNode< String > string)