1// Copyright 2019 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include 'src/builtins/builtins-proxy-gen.h' 6 7namespace proxy { 8 9extern macro ProxiesCodeStubAssembler::AllocateProxy(implicit context: Context)( 10 JSReceiver, JSReceiver): JSProxy; 11 12extern transitioning macro ProxiesCodeStubAssembler::CheckGetSetTrapResult( 13 implicit context: Context)( 14 JSReceiver, JSProxy, Name, Object, constexpr int31): void; 15 16extern transitioning macro ProxiesCodeStubAssembler::CheckDeleteTrapResult( 17 implicit context: Context)(JSReceiver, JSProxy, Name): void; 18 19extern transitioning macro ProxiesCodeStubAssembler::CheckHasTrapResult( 20 implicit context: Context)(JSReceiver, JSProxy, Name): void; 21 22const kProxyGet: constexpr int31 23 generates 'JSProxy::AccessKind::kGet'; 24const kProxySet: constexpr int31 25 generates 'JSProxy::AccessKind::kSet'; 26 27type ProxyRevokeFunctionContext extends FunctionContext; 28extern enum ProxyRevokeFunctionContextSlot extends intptr 29constexpr 'ProxiesCodeStubAssembler::ProxyRevokeFunctionContextSlot' { 30 kProxySlot: Slot<ProxyRevokeFunctionContext, JSProxy|Null>, 31 kProxyContextLength 32} 33} 34