Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/builtins/builtins-array-gen.h"
10 : #include "src/builtins/builtins-collections-gen.h"
11 : #include "src/builtins/builtins-data-view-gen.h"
12 : #include "src/builtins/builtins-iterator-gen.h"
13 : #include "src/builtins/builtins-typed-array-gen.h"
14 : #include "torque-generated/builtins-base-from-dsl-gen.h"
15 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
16 : #include "torque-generated/builtins-array-from-dsl-gen.h"
17 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
18 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
19 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
20 : #include "torque-generated/builtins-object-from-dsl-gen.h"
21 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
22 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
23 : #include "torque-generated/builtins-test-from-dsl-gen.h"
24 :
25 : namespace v8 {
26 : namespace internal {
27 :
28 224 : TF_BUILTIN(ExtrasUtilsCreatePrivateSymbol, CodeStubAssembler) {
29 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
30 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
31 : USE(parameter0);
32 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
33 168 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
34 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
35 : auto arguments = &arguments_impl;
36 : USE(arguments);
37 : USE(parameter1);
38 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
39 : ca_.Goto(&block0, parameter0, parameter1);
40 :
41 56 : if (block0.is_used()) {
42 : compiler::TNode<Context> tmp0;
43 : compiler::TNode<Object> tmp1;
44 : ca_.Bind(&block0, &tmp0, &tmp1);
45 : compiler::TNode<IntPtrT> tmp2;
46 : USE(tmp2);
47 112 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
48 : compiler::TNode<Object> tmp3;
49 : USE(tmp3);
50 112 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
51 : compiler::TNode<HeapObject> tmp4;
52 112 : tmp4 = TORQUE_CAST(CodeStubAssembler(state_).CallRuntime(Runtime::kCreatePrivateSymbol, tmp0, tmp3));
53 : USE(tmp4);
54 56 : arguments->PopAndReturn(tmp4);
55 56 : }
56 56 : }
57 :
58 224 : TF_BUILTIN(ExtrasUtilsMarkPromiseAsHandled, CodeStubAssembler) {
59 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
60 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
61 : USE(parameter0);
62 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
63 168 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
64 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
65 : auto arguments = &arguments_impl;
66 : USE(arguments);
67 : USE(parameter1);
68 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
69 : ca_.Goto(&block0, parameter0, parameter1);
70 :
71 56 : if (block0.is_used()) {
72 : compiler::TNode<Context> tmp0;
73 : compiler::TNode<Object> tmp1;
74 : ca_.Bind(&block0, &tmp0, &tmp1);
75 : compiler::TNode<IntPtrT> tmp2;
76 : USE(tmp2);
77 112 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
78 : compiler::TNode<Object> tmp3;
79 : USE(tmp3);
80 112 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
81 : compiler::TNode<Oddball> tmp4;
82 112 : tmp4 = TORQUE_CAST(CodeStubAssembler(state_).CallRuntime(Runtime::kPromiseMarkAsHandled, tmp0, tmp3));
83 : USE(tmp4);
84 56 : arguments->PopAndReturn(tmp4);
85 56 : }
86 56 : }
87 :
88 224 : TF_BUILTIN(ExtrasUtilsPromiseState, CodeStubAssembler) {
89 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
90 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
91 : USE(parameter0);
92 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
93 168 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
94 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
95 : auto arguments = &arguments_impl;
96 : USE(arguments);
97 : USE(parameter1);
98 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
99 : ca_.Goto(&block0, parameter0, parameter1);
100 :
101 56 : if (block0.is_used()) {
102 : compiler::TNode<Context> tmp0;
103 : compiler::TNode<Object> tmp1;
104 : ca_.Bind(&block0, &tmp0, &tmp1);
105 : compiler::TNode<IntPtrT> tmp2;
106 : USE(tmp2);
107 112 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
108 : compiler::TNode<Object> tmp3;
109 : USE(tmp3);
110 112 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
111 : compiler::TNode<Smi> tmp4;
112 112 : tmp4 = TORQUE_CAST(CodeStubAssembler(state_).CallRuntime(Runtime::kPromiseStatus, tmp0, tmp3));
113 : USE(tmp4);
114 56 : arguments->PopAndReturn(tmp4);
115 56 : }
116 56 : }
117 :
118 : } // namespace internal
119 94089 : } // namespace v8
120 :
|