LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-proxy-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 121 137 88.3 %
Date: 2019-04-17 Functions: 8 9 88.9 %

          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/objects/free-space.h"
      10             : #include "src/objects/js-generator.h"
      11             : #include "src/objects/js-promise.h"
      12             : #include "src/objects/js-regexp-string-iterator.h"
      13             : #include "src/objects/module.h"
      14             : #include "src/objects/stack-frame-info.h"
      15             : #include "src/builtins/builtins-regexp-gen.h"
      16             : #include "src/builtins/builtins-array-gen.h"
      17             : #include "src/builtins/builtins-collections-gen.h"
      18             : #include "src/builtins/builtins-data-view-gen.h"
      19             : #include "src/builtins/builtins-iterator-gen.h"
      20             : #include "src/builtins/builtins-proxy-gen.h"
      21             : #include "src/builtins/builtins-proxy-gen.h"
      22             : #include "src/builtins/builtins-regexp-gen.h"
      23             : #include "src/builtins/builtins-regexp-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-typed-array-gen.h"
      26             : #include "src/builtins/builtins-constructor-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-typed-array-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "src/builtins/builtins-typed-array-gen.h"
      31             : #include "src/builtins/builtins-typed-array-gen.h"
      32             : #include "src/builtins/builtins-typed-array-gen.h"
      33             : #include "src/builtins/builtins-typed-array-gen.h"
      34             : #include "src/builtins/builtins-typed-array-gen.h"
      35             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      77             : 
      78             : namespace v8 {
      79             : namespace internal {
      80             : 
      81          56 : compiler::TNode<JSProxy> ProxyBuiltinsFromDSLAssembler::AllocateProxy(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_target, compiler::TNode<JSReceiver> p_handler) {
      82          56 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      83             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, JSProxy> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      84             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, JSProxy> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      85             :     ca_.Goto(&block0, p_context, p_target, p_handler);
      86             : 
      87          56 :   if (block0.is_used()) {
      88             :     compiler::TNode<Context> tmp0;
      89             :     compiler::TNode<JSReceiver> tmp1;
      90             :     compiler::TNode<JSReceiver> tmp2;
      91             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
      92          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 13);
      93             :     compiler::TNode<JSProxy> tmp3;
      94             :     USE(tmp3);
      95         168 :     tmp3 = ca_.UncheckedCast<JSProxy>(ProxiesCodeStubAssembler(state_).AllocateProxy(compiler::TNode<JSReceiver>{tmp1}, compiler::TNode<JSReceiver>{tmp2}, compiler::TNode<Context>{tmp0}));
      96             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
      97             :   }
      98             : 
      99          56 :   if (block1.is_used()) {
     100             :     compiler::TNode<Context> tmp4;
     101             :     compiler::TNode<JSReceiver> tmp5;
     102             :     compiler::TNode<JSReceiver> tmp6;
     103             :     compiler::TNode<JSProxy> tmp7;
     104             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6, &tmp7);
     105          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 11);
     106             :     ca_.Goto(&block2, tmp4, tmp5, tmp6, tmp7);
     107             :   }
     108             : 
     109             :     compiler::TNode<Context> tmp8;
     110             :     compiler::TNode<JSReceiver> tmp9;
     111             :     compiler::TNode<JSReceiver> tmp10;
     112             :     compiler::TNode<JSProxy> tmp11;
     113             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
     114         112 :   return compiler::TNode<JSProxy>{tmp11};
     115             : }
     116             : 
     117          56 : compiler::TNode<JSFunction> ProxyBuiltinsFromDSLAssembler::AllocateProxyRevokeFunction(compiler::TNode<Context> p_context, compiler::TNode<JSProxy> p_proxy) {
     118          56 :   compiler::CodeAssemblerParameterizedLabel<Context, JSProxy> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     119             :   compiler::CodeAssemblerParameterizedLabel<Context, JSProxy, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     120             :   compiler::CodeAssemblerParameterizedLabel<Context, JSProxy, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     121             :     ca_.Goto(&block0, p_context, p_proxy);
     122             : 
     123          56 :   if (block0.is_used()) {
     124             :     compiler::TNode<Context> tmp0;
     125             :     compiler::TNode<JSProxy> tmp1;
     126             :     ca_.Bind(&block0, &tmp0, &tmp1);
     127          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 20);
     128             :     compiler::TNode<JSFunction> tmp2;
     129             :     USE(tmp2);
     130         168 :     tmp2 = ca_.UncheckedCast<JSFunction>(ProxiesCodeStubAssembler(state_).AllocateProxyRevokeFunction(compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp0}));
     131             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
     132             :   }
     133             : 
     134          56 :   if (block1.is_used()) {
     135             :     compiler::TNode<Context> tmp3;
     136             :     compiler::TNode<JSProxy> tmp4;
     137             :     compiler::TNode<JSFunction> tmp5;
     138             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
     139          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 18);
     140             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
     141             :   }
     142             : 
     143             :     compiler::TNode<Context> tmp6;
     144             :     compiler::TNode<JSProxy> tmp7;
     145             :     compiler::TNode<JSFunction> tmp8;
     146             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
     147         112 :   return compiler::TNode<JSFunction>{tmp8};
     148             : }
     149             : 
     150         112 : compiler::TNode<BoolT> ProxyBuiltinsFromDSLAssembler::IsRevokedProxy(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_o) {
     151         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     152             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     153             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, JSProxy> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     154             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSProxy, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     155             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSProxy, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     156             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     157             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     158             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     159             :     ca_.Goto(&block0, p_context, p_o);
     160             : 
     161         112 :   if (block0.is_used()) {
     162             :     compiler::TNode<Context> tmp0;
     163             :     compiler::TNode<JSReceiver> tmp1;
     164             :     ca_.Bind(&block0, &tmp0, &tmp1);
     165         112 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 25);
     166             :     compiler::TNode<JSProxy> tmp2;
     167             :     USE(tmp2);
     168         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     169         336 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSProxy(compiler::TNode<HeapObject>{tmp1}, &label0);
     170             :     ca_.Goto(&block4, tmp0, tmp1, tmp1, tmp2);
     171         112 :     if (label0.is_used()) {
     172         112 :       ca_.Bind(&label0);
     173             :       ca_.Goto(&block5, tmp0, tmp1, tmp1);
     174             :     }
     175             :   }
     176             : 
     177         112 :   if (block5.is_used()) {
     178             :     compiler::TNode<Context> tmp3;
     179             :     compiler::TNode<JSReceiver> tmp4;
     180             :     compiler::TNode<JSReceiver> tmp5;
     181             :     ca_.Bind(&block5, &tmp3, &tmp4, &tmp5);
     182             :     ca_.Goto(&block3, tmp3, tmp4);
     183             :   }
     184             : 
     185         112 :   if (block4.is_used()) {
     186             :     compiler::TNode<Context> tmp6;
     187             :     compiler::TNode<JSReceiver> tmp7;
     188             :     compiler::TNode<JSReceiver> tmp8;
     189             :     compiler::TNode<JSProxy> tmp9;
     190             :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9);
     191         112 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 27);
     192         112 :     compiler::TNode<IntPtrT> tmp10 = ca_.IntPtrConstant(JSProxy::kHandlerOffset);
     193             :     USE(tmp10);
     194         224 :     compiler::TNode<Object>tmp11 = CodeStubAssembler(state_).LoadReference<Object>(CodeStubAssembler::Reference{tmp9, tmp10});
     195             :     compiler::TNode<JSReceiver> tmp12;
     196             :     USE(tmp12);
     197         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     198         336 :     tmp12 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp6}, compiler::TNode<Object>{tmp11}, &label0);
     199             :     ca_.Goto(&block6, tmp6, tmp7, tmp9, tmp11, tmp12);
     200         112 :     if (label0.is_used()) {
     201         112 :       ca_.Bind(&label0);
     202             :       ca_.Goto(&block7, tmp6, tmp7, tmp9, tmp11);
     203             :     }
     204             :   }
     205             : 
     206         112 :   if (block7.is_used()) {
     207             :     compiler::TNode<Context> tmp13;
     208             :     compiler::TNode<JSReceiver> tmp14;
     209             :     compiler::TNode<JSProxy> tmp15;
     210             :     compiler::TNode<Object> tmp16;
     211             :     ca_.Bind(&block7, &tmp13, &tmp14, &tmp15, &tmp16);
     212             :     ca_.Goto(&block3, tmp13, tmp14);
     213             :   }
     214             : 
     215         112 :   if (block6.is_used()) {
     216             :     compiler::TNode<Context> tmp17;
     217             :     compiler::TNode<JSReceiver> tmp18;
     218             :     compiler::TNode<JSProxy> tmp19;
     219             :     compiler::TNode<Object> tmp20;
     220             :     compiler::TNode<JSReceiver> tmp21;
     221             :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     222         112 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 26);
     223         112 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 28);
     224             :     compiler::TNode<BoolT> tmp22;
     225             :     USE(tmp22);
     226         336 :     tmp22 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
     227             :     ca_.Goto(&block1, tmp17, tmp18, tmp22);
     228             :   }
     229             : 
     230         112 :   if (block3.is_used()) {
     231             :     compiler::TNode<Context> tmp23;
     232             :     compiler::TNode<JSReceiver> tmp24;
     233             :     ca_.Bind(&block3, &tmp23, &tmp24);
     234         112 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 31);
     235             :     compiler::TNode<BoolT> tmp25;
     236             :     USE(tmp25);
     237         336 :     tmp25 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
     238             :     ca_.Goto(&block1, tmp23, tmp24, tmp25);
     239             :   }
     240             : 
     241         112 :   if (block1.is_used()) {
     242             :     compiler::TNode<Context> tmp26;
     243             :     compiler::TNode<JSReceiver> tmp27;
     244             :     compiler::TNode<BoolT> tmp28;
     245             :     ca_.Bind(&block1, &tmp26, &tmp27, &tmp28);
     246         112 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 23);
     247             :     ca_.Goto(&block8, tmp26, tmp27, tmp28);
     248             :   }
     249             : 
     250             :     compiler::TNode<Context> tmp29;
     251             :     compiler::TNode<JSReceiver> tmp30;
     252             :     compiler::TNode<BoolT> tmp31;
     253             :     ca_.Bind(&block8, &tmp29, &tmp30, &tmp31);
     254         224 :   return compiler::TNode<BoolT>{tmp31};
     255             : }
     256             : 
     257         224 : TF_BUILTIN(ProxyRevocable, CodeStubAssembler) {
     258          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     259             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     260             :   USE(parameter0);
     261             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
     262             :   USE(parameter1);
     263             :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kTarget));
     264             :   USE(parameter2);
     265             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kHandler));
     266             :   USE(parameter3);
     267             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     268             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     269             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     270             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     271             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     272             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     273             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Object, JSReceiver> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     274             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     275             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     276             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     277             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     278             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
     279             : 
     280          56 :   if (block0.is_used()) {
     281             :     compiler::TNode<Context> tmp0;
     282             :     compiler::TNode<Object> tmp1;
     283             :     compiler::TNode<Object> tmp2;
     284             :     compiler::TNode<Object> tmp3;
     285             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     286          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 43);
     287             :     compiler::TNode<JSReceiver> tmp4;
     288             :     USE(tmp4);
     289          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     290         112 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}, &label0);
     291             :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp2, tmp4);
     292          56 :     if (label0.is_used()) {
     293          56 :       ca_.Bind(&label0);
     294             :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp2);
     295             :     }
     296             :   }
     297             : 
     298          56 :   if (block6.is_used()) {
     299             :     compiler::TNode<Context> tmp5;
     300             :     compiler::TNode<Object> tmp6;
     301             :     compiler::TNode<Object> tmp7;
     302             :     compiler::TNode<Object> tmp8;
     303             :     compiler::TNode<Object> tmp9;
     304             :     ca_.Bind(&block6, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
     305             :     ca_.Goto(&block4, tmp5, tmp6, tmp7, tmp8);
     306             :   }
     307             : 
     308          56 :   if (block5.is_used()) {
     309             :     compiler::TNode<Context> tmp10;
     310             :     compiler::TNode<Object> tmp11;
     311             :     compiler::TNode<Object> tmp12;
     312             :     compiler::TNode<Object> tmp13;
     313             :     compiler::TNode<Object> tmp14;
     314             :     compiler::TNode<JSReceiver> tmp15;
     315             :     ca_.Bind(&block5, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     316          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 44);
     317             :     compiler::TNode<BoolT> tmp16;
     318             :     USE(tmp16);
     319         112 :     tmp16 = ca_.UncheckedCast<BoolT>(ProxyBuiltinsFromDSLAssembler(state_).IsRevokedProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<JSReceiver>{tmp15}));
     320          56 :     ca_.Branch(tmp16, &block7, &block8, tmp10, tmp11, tmp12, tmp13, tmp15);
     321             :   }
     322             : 
     323          56 :   if (block7.is_used()) {
     324             :     compiler::TNode<Context> tmp17;
     325             :     compiler::TNode<Object> tmp18;
     326             :     compiler::TNode<Object> tmp19;
     327             :     compiler::TNode<Object> tmp20;
     328             :     compiler::TNode<JSReceiver> tmp21;
     329             :     ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     330          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 45);
     331             :     ca_.Goto(&block2, tmp17, tmp18, tmp19, tmp20);
     332             :   }
     333             : 
     334          56 :   if (block8.is_used()) {
     335             :     compiler::TNode<Context> tmp22;
     336             :     compiler::TNode<Object> tmp23;
     337             :     compiler::TNode<Object> tmp24;
     338             :     compiler::TNode<Object> tmp25;
     339             :     compiler::TNode<JSReceiver> tmp26;
     340             :     ca_.Bind(&block8, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
     341          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 49);
     342             :     compiler::TNode<JSReceiver> tmp27;
     343             :     USE(tmp27);
     344          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     345         112 :     tmp27 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp22}, compiler::TNode<Object>{tmp25}, &label0);
     346             :     ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25, tmp26, tmp25, tmp27);
     347          56 :     if (label0.is_used()) {
     348          56 :       ca_.Bind(&label0);
     349             :       ca_.Goto(&block10, tmp22, tmp23, tmp24, tmp25, tmp26, tmp25);
     350             :     }
     351             :   }
     352             : 
     353          56 :   if (block10.is_used()) {
     354             :     compiler::TNode<Context> tmp28;
     355             :     compiler::TNode<Object> tmp29;
     356             :     compiler::TNode<Object> tmp30;
     357             :     compiler::TNode<Object> tmp31;
     358             :     compiler::TNode<JSReceiver> tmp32;
     359             :     compiler::TNode<Object> tmp33;
     360             :     ca_.Bind(&block10, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
     361             :     ca_.Goto(&block4, tmp28, tmp29, tmp30, tmp31);
     362             :   }
     363             : 
     364          56 :   if (block9.is_used()) {
     365             :     compiler::TNode<Context> tmp34;
     366             :     compiler::TNode<Object> tmp35;
     367             :     compiler::TNode<Object> tmp36;
     368             :     compiler::TNode<Object> tmp37;
     369             :     compiler::TNode<JSReceiver> tmp38;
     370             :     compiler::TNode<Object> tmp39;
     371             :     compiler::TNode<JSReceiver> tmp40;
     372             :     ca_.Bind(&block9, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
     373          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 50);
     374             :     compiler::TNode<BoolT> tmp41;
     375             :     USE(tmp41);
     376         112 :     tmp41 = ca_.UncheckedCast<BoolT>(ProxyBuiltinsFromDSLAssembler(state_).IsRevokedProxy(compiler::TNode<Context>{tmp34}, compiler::TNode<JSReceiver>{tmp40}));
     377          56 :     ca_.Branch(tmp41, &block11, &block12, tmp34, tmp35, tmp36, tmp37, tmp38, tmp40);
     378             :   }
     379             : 
     380          56 :   if (block11.is_used()) {
     381             :     compiler::TNode<Context> tmp42;
     382             :     compiler::TNode<Object> tmp43;
     383             :     compiler::TNode<Object> tmp44;
     384             :     compiler::TNode<Object> tmp45;
     385             :     compiler::TNode<JSReceiver> tmp46;
     386             :     compiler::TNode<JSReceiver> tmp47;
     387             :     ca_.Bind(&block11, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47);
     388          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 51);
     389             :     ca_.Goto(&block2, tmp42, tmp43, tmp44, tmp45);
     390             :   }
     391             : 
     392          56 :   if (block12.is_used()) {
     393             :     compiler::TNode<Context> tmp48;
     394             :     compiler::TNode<Object> tmp49;
     395             :     compiler::TNode<Object> tmp50;
     396             :     compiler::TNode<Object> tmp51;
     397             :     compiler::TNode<JSReceiver> tmp52;
     398             :     compiler::TNode<JSReceiver> tmp53;
     399             :     ca_.Bind(&block12, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     400          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 55);
     401             :     compiler::TNode<JSProxy> tmp54;
     402             :     USE(tmp54);
     403         112 :     tmp54 = ca_.UncheckedCast<JSProxy>(ProxyBuiltinsFromDSLAssembler(state_).AllocateProxy(compiler::TNode<Context>{tmp48}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<JSReceiver>{tmp53}));
     404          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 61);
     405             :     compiler::TNode<JSFunction> tmp55;
     406             :     USE(tmp55);
     407         112 :     tmp55 = ca_.UncheckedCast<JSFunction>(ProxyBuiltinsFromDSLAssembler(state_).AllocateProxyRevokeFunction(compiler::TNode<Context>{tmp48}, compiler::TNode<JSProxy>{tmp54}));
     408          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 67);
     409             :     compiler::TNode<JSProxyRevocableResult> tmp56;
     410             :     USE(tmp56);
     411         112 :     tmp56 = ca_.UncheckedCast<JSProxyRevocableResult>(BaseBuiltinsFromDSLAssembler(state_).NewJSProxyRevocableResult(compiler::TNode<Context>{tmp48}, compiler::TNode<JSProxy>{tmp54}, compiler::TNode<JSFunction>{tmp55}));
     412         112 :     CodeStubAssembler(state_).Return(tmp56);
     413             :   }
     414             : 
     415          56 :   if (block4.is_used()) {
     416             :     compiler::TNode<Context> tmp57;
     417             :     compiler::TNode<Object> tmp58;
     418             :     compiler::TNode<Object> tmp59;
     419             :     compiler::TNode<Object> tmp60;
     420             :     ca_.Bind(&block4, &tmp57, &tmp58, &tmp59, &tmp60);
     421          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 70);
     422         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp57}, MessageTemplate::kProxyNonObject, "Proxy.revocable");
     423             :   }
     424             : 
     425          56 :   if (block2.is_used()) {
     426             :     compiler::TNode<Context> tmp61;
     427             :     compiler::TNode<Object> tmp62;
     428             :     compiler::TNode<Object> tmp63;
     429             :     compiler::TNode<Object> tmp64;
     430             :     ca_.Bind(&block2, &tmp61, &tmp62, &tmp63, &tmp64);
     431          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 73);
     432         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp61}, MessageTemplate::kProxyHandlerOrTargetRevoked, "Proxy.revocable");
     433             :   }
     434          56 : }
     435             : 
     436           0 : compiler::TNode<JSProxy> ProxyBuiltinsFromDSLAssembler::ValidateProxy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::TNode<String> p_method) {
     437           0 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     438             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     439             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String, Object, JSProxy> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     440             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     441             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String, JSProxy> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     442             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String, JSProxy> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     443             :     ca_.Goto(&block0, p_context, p_o, p_method);
     444             : 
     445           0 :   if (block0.is_used()) {
     446             :     compiler::TNode<Context> tmp0;
     447             :     compiler::TNode<Object> tmp1;
     448             :     compiler::TNode<String> tmp2;
     449             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     450           0 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 11);
     451             :     compiler::TNode<JSProxy> tmp3;
     452             :     USE(tmp3);
     453           0 :     compiler::CodeAssemblerLabel label0(&ca_);
     454           0 :     tmp3 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSProxy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     455             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp3);
     456           0 :     if (label0.is_used()) {
     457           0 :       ca_.Bind(&label0);
     458             :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1);
     459             :     }
     460             :   }
     461             : 
     462           0 :   if (block5.is_used()) {
     463             :     compiler::TNode<Context> tmp4;
     464             :     compiler::TNode<Object> tmp5;
     465             :     compiler::TNode<String> tmp6;
     466             :     compiler::TNode<Object> tmp7;
     467             :     ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7);
     468             :     ca_.Goto(&block3, tmp4, tmp5, tmp6);
     469             :   }
     470             : 
     471           0 :   if (block4.is_used()) {
     472             :     compiler::TNode<Context> tmp8;
     473             :     compiler::TNode<Object> tmp9;
     474             :     compiler::TNode<String> tmp10;
     475             :     compiler::TNode<Object> tmp11;
     476             :     compiler::TNode<JSProxy> tmp12;
     477             :     ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
     478             :     ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp12);
     479             :   }
     480             : 
     481           0 :   if (block3.is_used()) {
     482             :     compiler::TNode<Context> tmp13;
     483             :     compiler::TNode<Object> tmp14;
     484             :     compiler::TNode<String> tmp15;
     485             :     ca_.Bind(&block3, &tmp13, &tmp14, &tmp15);
     486           0 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 14);
     487           0 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp13}, MessageTemplate::kIncompatibleMethodReceiver, compiler::TNode<Object>{tmp15});
     488             :   }
     489             : 
     490           0 :   if (block1.is_used()) {
     491             :     compiler::TNode<Context> tmp16;
     492             :     compiler::TNode<Object> tmp17;
     493             :     compiler::TNode<String> tmp18;
     494             :     compiler::TNode<JSProxy> tmp19;
     495             :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
     496           0 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 9);
     497             :     ca_.Goto(&block6, tmp16, tmp17, tmp18, tmp19);
     498             :   }
     499             : 
     500             :     compiler::TNode<Context> tmp20;
     501             :     compiler::TNode<Object> tmp21;
     502             :     compiler::TNode<String> tmp22;
     503             :     compiler::TNode<JSProxy> tmp23;
     504             :     ca_.Bind(&block6, &tmp20, &tmp21, &tmp22, &tmp23);
     505           0 :   return compiler::TNode<JSProxy>{tmp23};
     506             : }
     507             : 
     508         224 : TF_BUILTIN(ProxyRevoke, CodeStubAssembler) {
     509          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     510             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     511             :   USE(parameter0);
     512             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
     513             :   USE(parameter1);
     514             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     515             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     516             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     517             :     ca_.Goto(&block0, parameter0, parameter1);
     518             : 
     519          56 :   if (block0.is_used()) {
     520             :     compiler::TNode<Context> tmp0;
     521             :     compiler::TNode<Object> tmp1;
     522             :     ca_.Bind(&block0, &tmp0, &tmp1);
     523          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 24);
     524             :     compiler::TNode<IntPtrT> tmp2;
     525             :     USE(tmp2);
     526         112 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr13ATContextSlot23ATconstexpr_ContextSlot(Context::MIN_CONTEXT_SLOTS));
     527             :     compiler::TNode<Object> tmp3;
     528             :     USE(tmp3);
     529         168 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp0}, compiler::TNode<IntPtrT>{tmp2}));
     530          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 27);
     531             :     compiler::TNode<Oddball> tmp4;
     532             :     USE(tmp4);
     533         112 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Null();
     534             :     compiler::TNode<BoolT> tmp5;
     535             :     USE(tmp5);
     536         112 :     tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp4}));
     537          56 :     ca_.Branch(tmp5, &block1, &block2, tmp0, tmp1, tmp3);
     538             :   }
     539             : 
     540          56 :   if (block1.is_used()) {
     541             :     compiler::TNode<Context> tmp6;
     542             :     compiler::TNode<Object> tmp7;
     543             :     compiler::TNode<Object> tmp8;
     544             :     ca_.Bind(&block1, &tmp6, &tmp7, &tmp8);
     545          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 28);
     546             :     compiler::TNode<Oddball> tmp9;
     547             :     USE(tmp9);
     548         112 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     549         112 :     CodeStubAssembler(state_).Return(tmp9);
     550             :   }
     551             : 
     552          56 :   if (block2.is_used()) {
     553             :     compiler::TNode<Context> tmp10;
     554             :     compiler::TNode<Object> tmp11;
     555             :     compiler::TNode<Object> tmp12;
     556             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
     557          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 32);
     558             :     compiler::TNode<Oddball> tmp13;
     559             :     USE(tmp13);
     560         112 :     tmp13 = BaseBuiltinsFromDSLAssembler(state_).Null();
     561             :     compiler::TNode<IntPtrT> tmp14;
     562             :     USE(tmp14);
     563         112 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr13ATContextSlot23ATconstexpr_ContextSlot(Context::MIN_CONTEXT_SLOTS));
     564         168 :     CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp10}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<Object>{tmp13});
     565          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 35);
     566             :     compiler::TNode<JSProxy> tmp15;
     567             :     USE(tmp15);
     568         112 :     tmp15 = ca_.UncheckedCast<JSProxy>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
     569          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 38);
     570          56 :     compiler::TNode<IntPtrT> tmp16 = ca_.IntPtrConstant(JSProxy::kTargetOffset);
     571             :     USE(tmp16);
     572             :     compiler::TNode<Oddball> tmp17;
     573             :     USE(tmp17);
     574         112 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).Null();
     575         112 :     CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp15, tmp16}, tmp17);
     576          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 41);
     577          56 :     compiler::TNode<IntPtrT> tmp18 = ca_.IntPtrConstant(JSProxy::kHandlerOffset);
     578             :     USE(tmp18);
     579             :     compiler::TNode<Oddball> tmp19;
     580             :     USE(tmp19);
     581         112 :     tmp19 = BaseBuiltinsFromDSLAssembler(state_).Null();
     582         112 :     CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp15, tmp18}, tmp19);
     583          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 44);
     584             :     compiler::TNode<Oddball> tmp20;
     585             :     USE(tmp20);
     586         112 :     tmp20 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     587         112 :     CodeStubAssembler(state_).Return(tmp20);
     588             :   }
     589          56 : }
     590             : 
     591             : }  // namespace internal
     592       59456 : }  // namespace v8
     593             : 

Generated by: LCOV version 1.10