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: 173 173 100.0 %
Date: 2019-04-18 Functions: 10 10 100.0 %

          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-proxy-gen.h"
      23             : #include "src/builtins/builtins-proxy-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-regexp-gen.h"
      26             : #include "src/builtins/builtins-regexp-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-constructor-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 "src/builtins/builtins-typed-array-gen.h"
      36             : #include "src/builtins/builtins-typed-array-gen.h"
      37             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      77             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      78             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      79             : 
      80             : namespace v8 {
      81             : namespace internal {
      82             : 
      83         112 : compiler::TNode<JSProxy> ProxyBuiltinsFromDSLAssembler::AllocateProxy(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_target, compiler::TNode<JSReceiver> p_handler) {
      84         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      85             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, JSProxy> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      86             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, JSProxy> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      87             :     ca_.Goto(&block0, p_context, p_target, p_handler);
      88             : 
      89         112 :   if (block0.is_used()) {
      90             :     compiler::TNode<Context> tmp0;
      91             :     compiler::TNode<JSReceiver> tmp1;
      92             :     compiler::TNode<JSReceiver> tmp2;
      93             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
      94         112 :     ca_.SetSourcePosition("../../src/builtins/proxy.tq", 13);
      95             :     compiler::TNode<JSProxy> tmp3;
      96             :     USE(tmp3);
      97         336 :     tmp3 = ca_.UncheckedCast<JSProxy>(ProxiesCodeStubAssembler(state_).AllocateProxy(compiler::TNode<JSReceiver>{tmp1}, compiler::TNode<JSReceiver>{tmp2}, compiler::TNode<Context>{tmp0}));
      98             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
      99             :   }
     100             : 
     101         112 :   if (block1.is_used()) {
     102             :     compiler::TNode<Context> tmp4;
     103             :     compiler::TNode<JSReceiver> tmp5;
     104             :     compiler::TNode<JSReceiver> tmp6;
     105             :     compiler::TNode<JSProxy> tmp7;
     106             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6, &tmp7);
     107         112 :     ca_.SetSourcePosition("../../src/builtins/proxy.tq", 11);
     108             :     ca_.Goto(&block2, tmp4, tmp5, tmp6, tmp7);
     109             :   }
     110             : 
     111             :     compiler::TNode<Context> tmp8;
     112             :     compiler::TNode<JSReceiver> tmp9;
     113             :     compiler::TNode<JSReceiver> tmp10;
     114             :     compiler::TNode<JSProxy> tmp11;
     115             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
     116         224 :   return compiler::TNode<JSProxy>{tmp11};
     117             : }
     118             : 
     119         224 : compiler::TNode<BoolT> ProxyBuiltinsFromDSLAssembler::IsRevokedProxy(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_o) {
     120         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     121             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     122             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, JSProxy> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     123             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     124             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSProxy> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     125             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSProxy, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     126             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSProxy, Object, JSReceiver> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     127             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSProxy> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     128             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSProxy, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     129             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     130             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, BoolT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     131             :     ca_.Goto(&block0, p_context, p_o);
     132             : 
     133         224 :   if (block0.is_used()) {
     134             :     compiler::TNode<Context> tmp0;
     135             :     compiler::TNode<JSReceiver> tmp1;
     136             :     ca_.Bind(&block0, &tmp0, &tmp1);
     137         224 :     ca_.SetSourcePosition("../../src/builtins/proxy.tq", 17);
     138             :     compiler::TNode<JSProxy> tmp2;
     139             :     USE(tmp2);
     140         224 :     compiler::CodeAssemblerLabel label0(&ca_);
     141         672 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSProxy(compiler::TNode<HeapObject>{tmp1}, &label0);
     142             :     ca_.Goto(&block4, tmp0, tmp1, tmp1, tmp2);
     143         224 :     if (label0.is_used()) {
     144         224 :       ca_.Bind(&label0);
     145             :       ca_.Goto(&block5, tmp0, tmp1, tmp1);
     146             :     }
     147             :   }
     148             : 
     149         224 :   if (block5.is_used()) {
     150             :     compiler::TNode<Context> tmp3;
     151             :     compiler::TNode<JSReceiver> tmp4;
     152             :     compiler::TNode<JSReceiver> tmp5;
     153             :     ca_.Bind(&block5, &tmp3, &tmp4, &tmp5);
     154             :     ca_.Goto(&block3, tmp3, tmp4);
     155             :   }
     156             : 
     157         224 :   if (block4.is_used()) {
     158             :     compiler::TNode<Context> tmp6;
     159             :     compiler::TNode<JSReceiver> tmp7;
     160             :     compiler::TNode<JSReceiver> tmp8;
     161             :     compiler::TNode<JSProxy> tmp9;
     162             :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9);
     163             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
     164             :   }
     165             : 
     166         224 :   if (block3.is_used()) {
     167             :     compiler::TNode<Context> tmp10;
     168             :     compiler::TNode<JSReceiver> tmp11;
     169             :     ca_.Bind(&block3, &tmp10, &tmp11);
     170             :     compiler::TNode<BoolT> tmp12;
     171             :     USE(tmp12);
     172         672 :     tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
     173             :     ca_.Goto(&block1, tmp10, tmp11, tmp12);
     174             :   }
     175             : 
     176         224 :   if (block2.is_used()) {
     177             :     compiler::TNode<Context> tmp13;
     178             :     compiler::TNode<JSReceiver> tmp14;
     179             :     compiler::TNode<JSProxy> tmp15;
     180             :     ca_.Bind(&block2, &tmp13, &tmp14, &tmp15);
     181         224 :     ca_.SetSourcePosition("../../src/builtins/proxy.tq", 19);
     182         224 :     compiler::TNode<IntPtrT> tmp16 = ca_.IntPtrConstant(JSProxy::kHandlerOffset);
     183             :     USE(tmp16);
     184         448 :     compiler::TNode<Object>tmp17 = CodeStubAssembler(state_).LoadReference<Object>(CodeStubAssembler::Reference{tmp15, tmp16});
     185             :     compiler::TNode<JSReceiver> tmp18;
     186             :     USE(tmp18);
     187         224 :     compiler::CodeAssemblerLabel label0(&ca_);
     188         672 :     tmp18 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp13}, compiler::TNode<Object>{tmp17}, &label0);
     189             :     ca_.Goto(&block8, tmp13, tmp14, tmp15, tmp17, tmp18);
     190         224 :     if (label0.is_used()) {
     191         224 :       ca_.Bind(&label0);
     192             :       ca_.Goto(&block9, tmp13, tmp14, tmp15, tmp17);
     193             :     }
     194             :   }
     195             : 
     196         224 :   if (block9.is_used()) {
     197             :     compiler::TNode<Context> tmp19;
     198             :     compiler::TNode<JSReceiver> tmp20;
     199             :     compiler::TNode<JSProxy> tmp21;
     200             :     compiler::TNode<Object> tmp22;
     201             :     ca_.Bind(&block9, &tmp19, &tmp20, &tmp21, &tmp22);
     202             :     ca_.Goto(&block7, tmp19, tmp20, tmp21);
     203             :   }
     204             : 
     205         224 :   if (block8.is_used()) {
     206             :     compiler::TNode<Context> tmp23;
     207             :     compiler::TNode<JSReceiver> tmp24;
     208             :     compiler::TNode<JSProxy> tmp25;
     209             :     compiler::TNode<Object> tmp26;
     210             :     compiler::TNode<JSReceiver> tmp27;
     211             :     ca_.Bind(&block8, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     212             :     ca_.Goto(&block6, tmp23, tmp24, tmp25, tmp27);
     213             :   }
     214             : 
     215         224 :   if (block7.is_used()) {
     216             :     compiler::TNode<Context> tmp28;
     217             :     compiler::TNode<JSReceiver> tmp29;
     218             :     compiler::TNode<JSProxy> tmp30;
     219             :     ca_.Bind(&block7, &tmp28, &tmp29, &tmp30);
     220             :     compiler::TNode<BoolT> tmp31;
     221             :     USE(tmp31);
     222         672 :     tmp31 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
     223             :     ca_.Goto(&block1, tmp28, tmp29, tmp31);
     224             :   }
     225             : 
     226         224 :   if (block6.is_used()) {
     227             :     compiler::TNode<Context> tmp32;
     228             :     compiler::TNode<JSReceiver> tmp33;
     229             :     compiler::TNode<JSProxy> tmp34;
     230             :     compiler::TNode<JSReceiver> tmp35;
     231             :     ca_.Bind(&block6, &tmp32, &tmp33, &tmp34, &tmp35);
     232         224 :     ca_.SetSourcePosition("../../src/builtins/proxy.tq", 18);
     233         224 :     ca_.SetSourcePosition("../../src/builtins/proxy.tq", 20);
     234             :     compiler::TNode<BoolT> tmp36;
     235             :     USE(tmp36);
     236         672 :     tmp36 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
     237             :     ca_.Goto(&block1, tmp32, tmp33, tmp36);
     238             :   }
     239             : 
     240         224 :   if (block1.is_used()) {
     241             :     compiler::TNode<Context> tmp37;
     242             :     compiler::TNode<JSReceiver> tmp38;
     243             :     compiler::TNode<BoolT> tmp39;
     244             :     ca_.Bind(&block1, &tmp37, &tmp38, &tmp39);
     245         224 :     ca_.SetSourcePosition("../../src/builtins/proxy.tq", 16);
     246             :     ca_.Goto(&block10, tmp37, tmp38, tmp39);
     247             :   }
     248             : 
     249             :     compiler::TNode<Context> tmp40;
     250             :     compiler::TNode<JSReceiver> tmp41;
     251             :     compiler::TNode<BoolT> tmp42;
     252             :     ca_.Bind(&block10, &tmp40, &tmp41, &tmp42);
     253         448 :   return compiler::TNode<BoolT>{tmp42};
     254             : }
     255             : 
     256         224 : TF_BUILTIN(ProxyConstructor, CodeStubAssembler) {
     257          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     258             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     259             :   USE(parameter0);
     260             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
     261             :   USE(parameter1);
     262             :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kTarget));
     263             :   USE(parameter2);
     264             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kHandler));
     265             :   USE(parameter3);
     266             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     267             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block5(&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, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     270             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     271             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     272             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     273             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     274             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     275             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, JSReceiver> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     276             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, JSReceiver> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     277             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     278             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     279             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
     280             : 
     281          56 :   if (block0.is_used()) {
     282             :     compiler::TNode<Context> tmp0;
     283             :     compiler::TNode<Object> tmp1;
     284             :     compiler::TNode<Object> tmp2;
     285             :     compiler::TNode<Object> tmp3;
     286             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     287          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 19);
     288             :     compiler::TNode<Object> tmp4;
     289             :     USE(tmp4);
     290         112 :     tmp4 = ca_.UncheckedCast<Object>(ProxiesCodeStubAssembler(state_).GetProxyConstructorJSNewTarget());
     291          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 20);
     292             :     compiler::TNode<Oddball> tmp5;
     293             :     USE(tmp5);
     294         112 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     295             :     compiler::TNode<BoolT> tmp6;
     296             :     USE(tmp6);
     297         112 :     tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
     298          56 :     ca_.Branch(tmp6, &block5, &block6, tmp0, tmp1, tmp2, tmp3, tmp4);
     299             :   }
     300             : 
     301          56 :   if (block5.is_used()) {
     302             :     compiler::TNode<Context> tmp7;
     303             :     compiler::TNode<Object> tmp8;
     304             :     compiler::TNode<Object> tmp9;
     305             :     compiler::TNode<Object> tmp10;
     306             :     compiler::TNode<Object> tmp11;
     307             :     ca_.Bind(&block5, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
     308          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 21);
     309         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp7}, MessageTemplate::kConstructorNotFunction, "Proxy");
     310             :   }
     311             : 
     312          56 :   if (block6.is_used()) {
     313             :     compiler::TNode<Context> tmp12;
     314             :     compiler::TNode<Object> tmp13;
     315             :     compiler::TNode<Object> tmp14;
     316             :     compiler::TNode<Object> tmp15;
     317             :     compiler::TNode<Object> tmp16;
     318             :     ca_.Bind(&block6, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
     319          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 33);
     320             :     compiler::TNode<JSReceiver> tmp17;
     321             :     USE(tmp17);
     322          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     323         112 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp12}, compiler::TNode<Object>{tmp14}, &label0);
     324             :     ca_.Goto(&block7, tmp12, tmp13, tmp14, tmp15, tmp16, tmp14, tmp17);
     325          56 :     if (label0.is_used()) {
     326          56 :       ca_.Bind(&label0);
     327             :       ca_.Goto(&block8, tmp12, tmp13, tmp14, tmp15, tmp16, tmp14);
     328             :     }
     329             :   }
     330             : 
     331          56 :   if (block8.is_used()) {
     332             :     compiler::TNode<Context> tmp18;
     333             :     compiler::TNode<Object> tmp19;
     334             :     compiler::TNode<Object> tmp20;
     335             :     compiler::TNode<Object> tmp21;
     336             :     compiler::TNode<Object> tmp22;
     337             :     compiler::TNode<Object> tmp23;
     338             :     ca_.Bind(&block8, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
     339             :     ca_.Goto(&block4, tmp18, tmp19, tmp20, tmp21);
     340             :   }
     341             : 
     342          56 :   if (block7.is_used()) {
     343             :     compiler::TNode<Context> tmp24;
     344             :     compiler::TNode<Object> tmp25;
     345             :     compiler::TNode<Object> tmp26;
     346             :     compiler::TNode<Object> tmp27;
     347             :     compiler::TNode<Object> tmp28;
     348             :     compiler::TNode<Object> tmp29;
     349             :     compiler::TNode<JSReceiver> tmp30;
     350             :     ca_.Bind(&block7, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     351          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 34);
     352             :     compiler::TNode<BoolT> tmp31;
     353             :     USE(tmp31);
     354         112 :     tmp31 = ca_.UncheckedCast<BoolT>(ProxyBuiltinsFromDSLAssembler(state_).IsRevokedProxy(compiler::TNode<Context>{tmp24}, compiler::TNode<JSReceiver>{tmp30}));
     355          56 :     ca_.Branch(tmp31, &block9, &block10, tmp24, tmp25, tmp26, tmp27, tmp28, tmp30);
     356             :   }
     357             : 
     358          56 :   if (block9.is_used()) {
     359             :     compiler::TNode<Context> tmp32;
     360             :     compiler::TNode<Object> tmp33;
     361             :     compiler::TNode<Object> tmp34;
     362             :     compiler::TNode<Object> tmp35;
     363             :     compiler::TNode<Object> tmp36;
     364             :     compiler::TNode<JSReceiver> tmp37;
     365             :     ca_.Bind(&block9, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     366          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 35);
     367             :     ca_.Goto(&block2, tmp32, tmp33, tmp34, tmp35);
     368             :   }
     369             : 
     370          56 :   if (block10.is_used()) {
     371             :     compiler::TNode<Context> tmp38;
     372             :     compiler::TNode<Object> tmp39;
     373             :     compiler::TNode<Object> tmp40;
     374             :     compiler::TNode<Object> tmp41;
     375             :     compiler::TNode<Object> tmp42;
     376             :     compiler::TNode<JSReceiver> tmp43;
     377             :     ca_.Bind(&block10, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
     378          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 39);
     379             :     compiler::TNode<JSReceiver> tmp44;
     380             :     USE(tmp44);
     381          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     382         112 :     tmp44 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp38}, compiler::TNode<Object>{tmp41}, &label0);
     383             :     ca_.Goto(&block11, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp41, tmp44);
     384          56 :     if (label0.is_used()) {
     385          56 :       ca_.Bind(&label0);
     386             :       ca_.Goto(&block12, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp41);
     387             :     }
     388             :   }
     389             : 
     390          56 :   if (block12.is_used()) {
     391             :     compiler::TNode<Context> tmp45;
     392             :     compiler::TNode<Object> tmp46;
     393             :     compiler::TNode<Object> tmp47;
     394             :     compiler::TNode<Object> tmp48;
     395             :     compiler::TNode<Object> tmp49;
     396             :     compiler::TNode<JSReceiver> tmp50;
     397             :     compiler::TNode<Object> tmp51;
     398             :     ca_.Bind(&block12, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
     399             :     ca_.Goto(&block4, tmp45, tmp46, tmp47, tmp48);
     400             :   }
     401             : 
     402          56 :   if (block11.is_used()) {
     403             :     compiler::TNode<Context> tmp52;
     404             :     compiler::TNode<Object> tmp53;
     405             :     compiler::TNode<Object> tmp54;
     406             :     compiler::TNode<Object> tmp55;
     407             :     compiler::TNode<Object> tmp56;
     408             :     compiler::TNode<JSReceiver> tmp57;
     409             :     compiler::TNode<Object> tmp58;
     410             :     compiler::TNode<JSReceiver> tmp59;
     411             :     ca_.Bind(&block11, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     412          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 40);
     413             :     compiler::TNode<BoolT> tmp60;
     414             :     USE(tmp60);
     415         112 :     tmp60 = ca_.UncheckedCast<BoolT>(ProxyBuiltinsFromDSLAssembler(state_).IsRevokedProxy(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp59}));
     416          56 :     ca_.Branch(tmp60, &block13, &block14, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp59);
     417             :   }
     418             : 
     419          56 :   if (block13.is_used()) {
     420             :     compiler::TNode<Context> tmp61;
     421             :     compiler::TNode<Object> tmp62;
     422             :     compiler::TNode<Object> tmp63;
     423             :     compiler::TNode<Object> tmp64;
     424             :     compiler::TNode<Object> tmp65;
     425             :     compiler::TNode<JSReceiver> tmp66;
     426             :     compiler::TNode<JSReceiver> tmp67;
     427             :     ca_.Bind(&block13, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
     428          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 41);
     429             :     ca_.Goto(&block2, tmp61, tmp62, tmp63, tmp64);
     430             :   }
     431             : 
     432          56 :   if (block14.is_used()) {
     433             :     compiler::TNode<Context> tmp68;
     434             :     compiler::TNode<Object> tmp69;
     435             :     compiler::TNode<Object> tmp70;
     436             :     compiler::TNode<Object> tmp71;
     437             :     compiler::TNode<Object> tmp72;
     438             :     compiler::TNode<JSReceiver> tmp73;
     439             :     compiler::TNode<JSReceiver> tmp74;
     440             :     ca_.Bind(&block14, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
     441          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 54);
     442             :     compiler::TNode<JSProxy> tmp75;
     443             :     USE(tmp75);
     444         112 :     tmp75 = ca_.UncheckedCast<JSProxy>(ProxyBuiltinsFromDSLAssembler(state_).AllocateProxy(compiler::TNode<Context>{tmp68}, compiler::TNode<JSReceiver>{tmp73}, compiler::TNode<JSReceiver>{tmp74}));
     445         112 :     CodeStubAssembler(state_).Return(tmp75);
     446             :   }
     447             : 
     448          56 :   if (block4.is_used()) {
     449             :     compiler::TNode<Context> tmp76;
     450             :     compiler::TNode<Object> tmp77;
     451             :     compiler::TNode<Object> tmp78;
     452             :     compiler::TNode<Object> tmp79;
     453             :     ca_.Bind(&block4, &tmp76, &tmp77, &tmp78, &tmp79);
     454          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 57);
     455         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp76}, MessageTemplate::kProxyNonObject);
     456             :   }
     457             : 
     458          56 :   if (block2.is_used()) {
     459             :     compiler::TNode<Context> tmp80;
     460             :     compiler::TNode<Object> tmp81;
     461             :     compiler::TNode<Object> tmp82;
     462             :     compiler::TNode<Object> tmp83;
     463             :     ca_.Bind(&block2, &tmp80, &tmp81, &tmp82, &tmp83);
     464          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-constructor.tq", 60);
     465         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp80}, MessageTemplate::kProxyHandlerOrTargetRevoked);
     466             :   }
     467          56 : }
     468             : 
     469          56 : compiler::TNode<JSFunction> ProxyBuiltinsFromDSLAssembler::AllocateProxyRevokeFunction(compiler::TNode<Context> p_context, compiler::TNode<JSProxy> p_proxy) {
     470          56 :   compiler::CodeAssemblerParameterizedLabel<Context, JSProxy> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     471             :   compiler::CodeAssemblerParameterizedLabel<Context, JSProxy, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     472             :   compiler::CodeAssemblerParameterizedLabel<Context, JSProxy, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     473             :     ca_.Goto(&block0, p_context, p_proxy);
     474             : 
     475          56 :   if (block0.is_used()) {
     476             :     compiler::TNode<Context> tmp0;
     477             :     compiler::TNode<JSProxy> tmp1;
     478             :     ca_.Bind(&block0, &tmp0, &tmp1);
     479          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 13);
     480             :     compiler::TNode<JSFunction> tmp2;
     481             :     USE(tmp2);
     482         168 :     tmp2 = ca_.UncheckedCast<JSFunction>(ProxiesCodeStubAssembler(state_).AllocateProxyRevokeFunction(compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp0}));
     483             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
     484             :   }
     485             : 
     486          56 :   if (block1.is_used()) {
     487             :     compiler::TNode<Context> tmp3;
     488             :     compiler::TNode<JSProxy> tmp4;
     489             :     compiler::TNode<JSFunction> tmp5;
     490             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
     491          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 11);
     492             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
     493             :   }
     494             : 
     495             :     compiler::TNode<Context> tmp6;
     496             :     compiler::TNode<JSProxy> tmp7;
     497             :     compiler::TNode<JSFunction> tmp8;
     498             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
     499         112 :   return compiler::TNode<JSFunction>{tmp8};
     500             : }
     501             : 
     502         224 : TF_BUILTIN(ProxyRevocable, CodeStubAssembler) {
     503          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     504             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     505             :   USE(parameter0);
     506             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
     507             :   USE(parameter1);
     508             :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kTarget));
     509             :   USE(parameter2);
     510             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kHandler));
     511             :   USE(parameter3);
     512             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     513             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     514             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     515             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     516             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     517             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     518             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Object, JSReceiver> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     519             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     520             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     521             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     522             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     523             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
     524             : 
     525          56 :   if (block0.is_used()) {
     526             :     compiler::TNode<Context> tmp0;
     527             :     compiler::TNode<Object> tmp1;
     528             :     compiler::TNode<Object> tmp2;
     529             :     compiler::TNode<Object> tmp3;
     530             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     531          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 24);
     532             :     compiler::TNode<JSReceiver> tmp4;
     533             :     USE(tmp4);
     534          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     535         112 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}, &label0);
     536             :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp2, tmp4);
     537          56 :     if (label0.is_used()) {
     538          56 :       ca_.Bind(&label0);
     539             :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp2);
     540             :     }
     541             :   }
     542             : 
     543          56 :   if (block6.is_used()) {
     544             :     compiler::TNode<Context> tmp5;
     545             :     compiler::TNode<Object> tmp6;
     546             :     compiler::TNode<Object> tmp7;
     547             :     compiler::TNode<Object> tmp8;
     548             :     compiler::TNode<Object> tmp9;
     549             :     ca_.Bind(&block6, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
     550             :     ca_.Goto(&block4, tmp5, tmp6, tmp7, tmp8);
     551             :   }
     552             : 
     553          56 :   if (block5.is_used()) {
     554             :     compiler::TNode<Context> tmp10;
     555             :     compiler::TNode<Object> tmp11;
     556             :     compiler::TNode<Object> tmp12;
     557             :     compiler::TNode<Object> tmp13;
     558             :     compiler::TNode<Object> tmp14;
     559             :     compiler::TNode<JSReceiver> tmp15;
     560             :     ca_.Bind(&block5, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     561          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 25);
     562             :     compiler::TNode<BoolT> tmp16;
     563             :     USE(tmp16);
     564         112 :     tmp16 = ca_.UncheckedCast<BoolT>(ProxyBuiltinsFromDSLAssembler(state_).IsRevokedProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<JSReceiver>{tmp15}));
     565          56 :     ca_.Branch(tmp16, &block7, &block8, tmp10, tmp11, tmp12, tmp13, tmp15);
     566             :   }
     567             : 
     568          56 :   if (block7.is_used()) {
     569             :     compiler::TNode<Context> tmp17;
     570             :     compiler::TNode<Object> tmp18;
     571             :     compiler::TNode<Object> tmp19;
     572             :     compiler::TNode<Object> tmp20;
     573             :     compiler::TNode<JSReceiver> tmp21;
     574             :     ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     575          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 26);
     576             :     ca_.Goto(&block2, tmp17, tmp18, tmp19, tmp20);
     577             :   }
     578             : 
     579          56 :   if (block8.is_used()) {
     580             :     compiler::TNode<Context> tmp22;
     581             :     compiler::TNode<Object> tmp23;
     582             :     compiler::TNode<Object> tmp24;
     583             :     compiler::TNode<Object> tmp25;
     584             :     compiler::TNode<JSReceiver> tmp26;
     585             :     ca_.Bind(&block8, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
     586          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 30);
     587             :     compiler::TNode<JSReceiver> tmp27;
     588             :     USE(tmp27);
     589          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     590         112 :     tmp27 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp22}, compiler::TNode<Object>{tmp25}, &label0);
     591             :     ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25, tmp26, tmp25, tmp27);
     592          56 :     if (label0.is_used()) {
     593          56 :       ca_.Bind(&label0);
     594             :       ca_.Goto(&block10, tmp22, tmp23, tmp24, tmp25, tmp26, tmp25);
     595             :     }
     596             :   }
     597             : 
     598          56 :   if (block10.is_used()) {
     599             :     compiler::TNode<Context> tmp28;
     600             :     compiler::TNode<Object> tmp29;
     601             :     compiler::TNode<Object> tmp30;
     602             :     compiler::TNode<Object> tmp31;
     603             :     compiler::TNode<JSReceiver> tmp32;
     604             :     compiler::TNode<Object> tmp33;
     605             :     ca_.Bind(&block10, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
     606             :     ca_.Goto(&block4, tmp28, tmp29, tmp30, tmp31);
     607             :   }
     608             : 
     609          56 :   if (block9.is_used()) {
     610             :     compiler::TNode<Context> tmp34;
     611             :     compiler::TNode<Object> tmp35;
     612             :     compiler::TNode<Object> tmp36;
     613             :     compiler::TNode<Object> tmp37;
     614             :     compiler::TNode<JSReceiver> tmp38;
     615             :     compiler::TNode<Object> tmp39;
     616             :     compiler::TNode<JSReceiver> tmp40;
     617             :     ca_.Bind(&block9, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
     618          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 31);
     619             :     compiler::TNode<BoolT> tmp41;
     620             :     USE(tmp41);
     621         112 :     tmp41 = ca_.UncheckedCast<BoolT>(ProxyBuiltinsFromDSLAssembler(state_).IsRevokedProxy(compiler::TNode<Context>{tmp34}, compiler::TNode<JSReceiver>{tmp40}));
     622          56 :     ca_.Branch(tmp41, &block11, &block12, tmp34, tmp35, tmp36, tmp37, tmp38, tmp40);
     623             :   }
     624             : 
     625          56 :   if (block11.is_used()) {
     626             :     compiler::TNode<Context> tmp42;
     627             :     compiler::TNode<Object> tmp43;
     628             :     compiler::TNode<Object> tmp44;
     629             :     compiler::TNode<Object> tmp45;
     630             :     compiler::TNode<JSReceiver> tmp46;
     631             :     compiler::TNode<JSReceiver> tmp47;
     632             :     ca_.Bind(&block11, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47);
     633          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 32);
     634             :     ca_.Goto(&block2, tmp42, tmp43, tmp44, tmp45);
     635             :   }
     636             : 
     637          56 :   if (block12.is_used()) {
     638             :     compiler::TNode<Context> tmp48;
     639             :     compiler::TNode<Object> tmp49;
     640             :     compiler::TNode<Object> tmp50;
     641             :     compiler::TNode<Object> tmp51;
     642             :     compiler::TNode<JSReceiver> tmp52;
     643             :     compiler::TNode<JSReceiver> tmp53;
     644             :     ca_.Bind(&block12, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     645          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 36);
     646             :     compiler::TNode<JSProxy> tmp54;
     647             :     USE(tmp54);
     648         112 :     tmp54 = ca_.UncheckedCast<JSProxy>(ProxyBuiltinsFromDSLAssembler(state_).AllocateProxy(compiler::TNode<Context>{tmp48}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<JSReceiver>{tmp53}));
     649          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 42);
     650             :     compiler::TNode<JSFunction> tmp55;
     651             :     USE(tmp55);
     652         112 :     tmp55 = ca_.UncheckedCast<JSFunction>(ProxyBuiltinsFromDSLAssembler(state_).AllocateProxyRevokeFunction(compiler::TNode<Context>{tmp48}, compiler::TNode<JSProxy>{tmp54}));
     653          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 48);
     654             :     compiler::TNode<JSProxyRevocableResult> tmp56;
     655             :     USE(tmp56);
     656         112 :     tmp56 = ca_.UncheckedCast<JSProxyRevocableResult>(BaseBuiltinsFromDSLAssembler(state_).NewJSProxyRevocableResult(compiler::TNode<Context>{tmp48}, compiler::TNode<JSProxy>{tmp54}, compiler::TNode<JSFunction>{tmp55}));
     657         112 :     CodeStubAssembler(state_).Return(tmp56);
     658             :   }
     659             : 
     660          56 :   if (block4.is_used()) {
     661             :     compiler::TNode<Context> tmp57;
     662             :     compiler::TNode<Object> tmp58;
     663             :     compiler::TNode<Object> tmp59;
     664             :     compiler::TNode<Object> tmp60;
     665             :     ca_.Bind(&block4, &tmp57, &tmp58, &tmp59, &tmp60);
     666          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 51);
     667         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp57}, MessageTemplate::kProxyNonObject, "Proxy.revocable");
     668             :   }
     669             : 
     670          56 :   if (block2.is_used()) {
     671             :     compiler::TNode<Context> tmp61;
     672             :     compiler::TNode<Object> tmp62;
     673             :     compiler::TNode<Object> tmp63;
     674             :     compiler::TNode<Object> tmp64;
     675             :     ca_.Bind(&block2, &tmp61, &tmp62, &tmp63, &tmp64);
     676          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revocable.tq", 54);
     677         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp61}, MessageTemplate::kProxyHandlerOrTargetRevoked, "Proxy.revocable");
     678             :   }
     679          56 : }
     680             : 
     681         224 : TF_BUILTIN(ProxyRevoke, CodeStubAssembler) {
     682          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     683             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     684             :   USE(parameter0);
     685             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
     686             :   USE(parameter1);
     687             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     688             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     689             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     690             :     ca_.Goto(&block0, parameter0, parameter1);
     691             : 
     692          56 :   if (block0.is_used()) {
     693             :     compiler::TNode<Context> tmp0;
     694             :     compiler::TNode<Object> tmp1;
     695             :     ca_.Bind(&block0, &tmp0, &tmp1);
     696          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 15);
     697             :     compiler::TNode<IntPtrT> tmp2;
     698             :     USE(tmp2);
     699         112 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr13ATContextSlot23ATconstexpr_ContextSlot(Context::MIN_CONTEXT_SLOTS));
     700             :     compiler::TNode<Object> tmp3;
     701             :     USE(tmp3);
     702         168 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp0}, compiler::TNode<IntPtrT>{tmp2}));
     703          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 18);
     704             :     compiler::TNode<Oddball> tmp4;
     705             :     USE(tmp4);
     706         112 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Null();
     707             :     compiler::TNode<BoolT> tmp5;
     708             :     USE(tmp5);
     709         112 :     tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp4}));
     710          56 :     ca_.Branch(tmp5, &block1, &block2, tmp0, tmp1, tmp3);
     711             :   }
     712             : 
     713          56 :   if (block1.is_used()) {
     714             :     compiler::TNode<Context> tmp6;
     715             :     compiler::TNode<Object> tmp7;
     716             :     compiler::TNode<Object> tmp8;
     717             :     ca_.Bind(&block1, &tmp6, &tmp7, &tmp8);
     718          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 19);
     719             :     compiler::TNode<Oddball> tmp9;
     720             :     USE(tmp9);
     721         112 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     722         112 :     CodeStubAssembler(state_).Return(tmp9);
     723             :   }
     724             : 
     725          56 :   if (block2.is_used()) {
     726             :     compiler::TNode<Context> tmp10;
     727             :     compiler::TNode<Object> tmp11;
     728             :     compiler::TNode<Object> tmp12;
     729             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
     730          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 23);
     731             :     compiler::TNode<Oddball> tmp13;
     732             :     USE(tmp13);
     733         112 :     tmp13 = BaseBuiltinsFromDSLAssembler(state_).Null();
     734             :     compiler::TNode<IntPtrT> tmp14;
     735             :     USE(tmp14);
     736         112 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr13ATContextSlot23ATconstexpr_ContextSlot(Context::MIN_CONTEXT_SLOTS));
     737         168 :     CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp10}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<Object>{tmp13});
     738          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 26);
     739             :     compiler::TNode<JSProxy> tmp15;
     740             :     USE(tmp15);
     741         112 :     tmp15 = ca_.UncheckedCast<JSProxy>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
     742          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 29);
     743          56 :     compiler::TNode<IntPtrT> tmp16 = ca_.IntPtrConstant(JSProxy::kTargetOffset);
     744             :     USE(tmp16);
     745             :     compiler::TNode<Oddball> tmp17;
     746             :     USE(tmp17);
     747         112 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).Null();
     748         112 :     CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp15, tmp16}, tmp17);
     749          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 32);
     750          56 :     compiler::TNode<IntPtrT> tmp18 = ca_.IntPtrConstant(JSProxy::kHandlerOffset);
     751             :     USE(tmp18);
     752             :     compiler::TNode<Oddball> tmp19;
     753             :     USE(tmp19);
     754         112 :     tmp19 = BaseBuiltinsFromDSLAssembler(state_).Null();
     755         112 :     CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp15, tmp18}, tmp19);
     756          56 :     ca_.SetSourcePosition("../../src/builtins/proxy-revoke.tq", 35);
     757             :     compiler::TNode<Oddball> tmp20;
     758             :     USE(tmp20);
     759         112 :     tmp20 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     760         112 :     CodeStubAssembler(state_).Return(tmp20);
     761             :   }
     762          56 : }
     763             : 
     764             : }  // namespace internal
     765       59480 : }  // namespace v8
     766             : 

Generated by: LCOV version 1.10