• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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