| /* |
| * Copyright 2020 WebAssembly Community Group participants |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| // Implements a switch on an expression class ID, and has a case for each id |
| // in which it runs delegates on the fields and immediates. You should include |
| // this file after defining the relevant DELEGATE_* macros. |
| // |
| // All defines used here are undefed automatically at the end for you. |
| // |
| // Most of the defines are necessary, and you will get an error if you forget |
| // them, but some are optional and some imply others, see below. |
| // |
| // The defines are as follows: |
| // |
| // DELEGATE_START(id) - called at the start of a case for an expression class. |
| // |
| // DELEGATE_END(id) - called at the end of a case. |
| // |
| // DELEGATE_GET_FIELD(id, field) - called to get a field by its name. This must |
| // know the object on which to get it, so it is just useful for the case |
| // where you operate on a single such object, but in that case it is nice |
| // because then other things can be defined automatically for you, see later. |
| // |
| // DELEGATE_FIELD_CHILD(id, field) - called for each child field (note: children |
| // are visited in reverse order, which is convenient for walking by pushing |
| // them to a stack first). |
| // |
| // DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(id, field) - called for each child field |
| // whose type is given by an immediate in the binary format. If you do not |
| // define this, then DELEGATE_FIELD_CHILD is called. |
| // |
| // DELEGATE_FIELD_OPTIONAL_CHILD(id, field) - called for a child that may not be |
| // present (like a Return's value). If you do not define this then |
| // DELEGATE_FIELD_CHILD is called. |
| // |
| // DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD(id, field) - The previous two |
| // cases combined. If you do not define this, but you define exactly one of |
| // DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD and DELEGATE_FIELD_OPTIONAL_CHILD, that |
| // defined macro will be called. Defining both |
| // DELEGATE_FIELD_IMMEDIATE_TYPE_CHILD and DELEGATE_FIELD_OPTIONAL_CHILD without |
| // defining DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD is an error. If |
| // neither of the other macros are defined, then DELEGATE_FIELD_CHILD is called. |
| // |
| // DELEGATE_FIELD_CHILD_VECTOR(id, field) - called for a variable-sized vector |
| // of child pointers. If this is not defined, and DELEGATE_GET_FIELD is, then |
| // DELEGATE_FIELD_CHILD is called on them. |
| // |
| // DELEGATE_FIELD_INT(id, field) - called for an integer field (bool, enum, |
| // Index, int32, or int64). |
| // |
| // DELEGATE_FIELD_INT_ARRAY(id, field) - called for a std::array of fixed size |
| // of integer values (like a SIMD mask). If this is not defined, and |
| // DELEGATE_GET_FIELD is, then DELEGATE_FIELD_INT is called on them. |
| // |
| // DELEGATE_FIELD_INT_VECTOR(id, field) - called for a variable-sized vector |
| // of integer values. If this is not defined, and DELEGATE_GET_FIELD is, then |
| // DELEGATE_FIELD_INT is called on them. |
| // |
| // DELEGATE_FIELD_LITERAL(id, field) - called for a Literal. |
| // |
| // DELEGATE_FIELD_NAME(id, field) - called for a Name. |
| // |
| // DELEGATE_FIELD_NAME_VECTOR(id, field) - called for a variable-sized vector of |
| // names (like try's catch tag names). If this is not defined, and |
| // DELEGATE_GET_FIELD is, then DELEGATE_FIELD_CHILD is called on them. |
| // |
| // DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) - called for a scope name definition |
| // (like a block's name). |
| // |
| // DELEGATE_FIELD_SCOPE_NAME_USE(id, field) - called for a scope name use (like |
| // a break's target). |
| // |
| // DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) - called for a variable-sized |
| // vector of scope names (like a switch's targets). If this is not defined, |
| // and DELEGATE_GET_FIELD is, then DELEGATE_FIELD_SCOPE_NAME_USE is called on |
| // them. |
| // |
| // DELEGATE_FIELD_NAME_KIND(id, field, kind) - called for a field that contains |
| // the name of a ModuleItemKind (i.e., a top-level module entity like a table |
| // or a function). If this is not defined then DELEGATE_FIELD_NAME is called |
| // instead. |
| // |
| // DELEGATE_FIELD_NAME_KIND_VECTOR(id, field, kind) - called for a variable- |
| // sized vector of DELEGATE_FIELD_NAME_KIND. If this is not defined, and |
| // DELEGATE_GET_FIELD is, then DELEGATE_FIELD_NAME_KIND is called on them. |
| // Or, if this is not defined by DELEGATE_FIELD_NAME_VECTOR is, then that is |
| // called. |
| // |
| // DELEGATE_FIELD_TYPE(id, field) - called for a Type. |
| // |
| // DELEGATE_FIELD_TYPE_VECTOR(id, field) - called for a variable-sized vector |
| // of Types. If this is not defined, and DELEGATE_GET_FIELD is, then |
| // DELEGATE_FIELD_TYPE is called on them. |
| // |
| // DELEGATE_FIELD_HEAPTYPE(id, field) - called for a HeapType. |
| // |
| // DELEGATE_FIELD_ADDRESS(id, field) - called for an Address. |
| |
| #ifndef DELEGATE_START |
| #define DELEGATE_START(id) |
| #endif |
| |
| #ifndef DELEGATE_END |
| #define DELEGATE_END(id) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_CHILD |
| #error please define DELEGATE_FIELD_CHILD(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD |
| #if defined(DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD) && !defined(DELEGATE_FIELD_OPTIONAL_CHILD) |
| #define DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD(id, field) DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(id, field) |
| #elif !defined(DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD) && defined(DELEGATE_FIELD_OPTIONAL_CHILD) |
| #define DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD(id, field) DELEGATE_FIELD_OPTIONAL_CHILD(id, field) |
| #elif !defined(DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD) && !defined(DELEGATE_FIELD_OPTIONAL_CHILD) |
| #define DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD(id, field) DELEGATE_FIELD_CHILD(id, field) |
| #else |
| #error please define DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD |
| #define DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(id, field) DELEGATE_FIELD_CHILD(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_OPTIONAL_CHILD |
| #define DELEGATE_FIELD_OPTIONAL_CHILD(id, field) DELEGATE_FIELD_CHILD(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_CHILD_VECTOR |
| #ifdef DELEGATE_GET_FIELD |
| #define DELEGATE_FIELD_CHILD_VECTOR(id, field) \ |
| for (int i = int((DELEGATE_GET_FIELD(id, field)).size()) - 1; i >= 0; i--) { \ |
| DELEGATE_FIELD_CHILD(id, field[i]) \ |
| } |
| #else |
| #error please define DELEGATE_FIELD_CHILD_VECTOR(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_INT |
| #error please define DELEGATE_FIELD_INT(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_INT_ARRAY |
| #ifdef DELEGATE_GET_FIELD |
| #define DELEGATE_FIELD_INT_ARRAY(id, field) \ |
| for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \ |
| DELEGATE_FIELD_INT(id, field[i]) \ |
| } |
| #else |
| #error please define DELEGATE_FIELD_INT_ARRAY(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_INT_VECTOR |
| #ifdef DELEGATE_GET_FIELD |
| #define DELEGATE_FIELD_INT_VECTOR(id, field) \ |
| for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \ |
| DELEGATE_FIELD_INT(id, field[i]) \ |
| } |
| #else |
| #error please define DELEGATE_FIELD_INT_VECTOR(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_LITERAL |
| #error please define DELEGATE_FIELD_LITERAL(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_NAME |
| #error please define DELEGATE_FIELD_NAME(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_NAME_VECTOR |
| #ifdef DELEGATE_GET_FIELD |
| #define DELEGATE_FIELD_NAME_VECTOR(id, field) \ |
| for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \ |
| DELEGATE_FIELD_NAME(id, field[i]) \ |
| } |
| #else |
| #error please define DELEGATE_FIELD_NAME_VECTOR(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_SCOPE_NAME_DEF |
| #error please define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_SCOPE_NAME_USE |
| #error please define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR |
| #ifdef DELEGATE_GET_FIELD |
| #define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) \ |
| for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \ |
| DELEGATE_FIELD_SCOPE_NAME_USE(id, field[i]) \ |
| } |
| #else |
| #error please define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_NAME_KIND |
| #define DELEGATE_FIELD_NAME_KIND(id, field, kind) DELEGATE_FIELD_NAME(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_NAME_KIND_VECTOR |
| #ifdef DELEGATE_GET_FIELD |
| #define DELEGATE_FIELD_NAME_KIND_VECTOR(id, field, kind) \ |
| for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \ |
| DELEGATE_FIELD_NAME_KIND(id, field[i], kind) \ |
| } |
| #else |
| #define DELEGATE_FIELD_NAME_KIND_VECTOR(id, field, kind) \ |
| DELEGATE_FIELD_NAME_VECTOR(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_TYPE |
| #error please define DELEGATE_FIELD_TYPE(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_TYPE_VECTOR |
| #ifdef DELEGATE_GET_FIELD |
| #define DELEGATE_FIELD_TYPE_VECTOR(id, field) \ |
| for (Index i = 0; i < (DELEGATE_GET_FIELD(id, field)).size(); i++) { \ |
| DELEGATE_FIELD_TYPE(id, field[i]) \ |
| } |
| #else |
| #error please define DELEGATE_FIELD_TYPE_VECTOR(id, field) |
| #endif |
| #endif |
| |
| #ifndef DELEGATE_FIELD_HEAPTYPE |
| #error please define DELEGATE_FIELD_HEAPTYPE(id, field) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_ADDRESS |
| #error please define DELEGATE_FIELD_ADDRESS(id, field) |
| #endif |
| |
| // By default we emit a switch and cases, but that can be customized using the |
| // following: |
| |
| |
| #ifndef DELEGATE_FIELD_MAIN_START |
| #define DELEGATE_FIELD_MAIN_START \ |
| switch (DELEGATE_ID) { \ |
| case Expression::Id::InvalidId: \ |
| case Expression::Id::NumExpressionIds: { \ |
| WASM_UNREACHABLE("unexpected expression type"); \ |
| } |
| #endif |
| |
| #ifndef DELEGATE_FIELD_CASE_START |
| #define DELEGATE_FIELD_CASE_START(id) \ |
| case Expression::Id::id##Id: { \ |
| DELEGATE_START(id) |
| #endif |
| |
| #ifndef DELEGATE_FIELD_CASE_END |
| #define DELEGATE_FIELD_CASE_END(id) \ |
| DELEGATE_END(id) \ |
| break; \ |
| } |
| #endif |
| |
| #ifndef DELEGATE_FIELD_MAIN_END |
| #define DELEGATE_FIELD_MAIN_END } |
| #endif |
| |
| DELEGATE_FIELD_MAIN_START |
| |
| DELEGATE_FIELD_CASE_START(Block) |
| DELEGATE_FIELD_CHILD_VECTOR(Block, list) |
| DELEGATE_FIELD_SCOPE_NAME_DEF(Block, name) |
| DELEGATE_FIELD_CASE_END(Block) |
| |
| DELEGATE_FIELD_CASE_START(If) |
| DELEGATE_FIELD_OPTIONAL_CHILD(If, ifFalse) |
| DELEGATE_FIELD_CHILD(If, ifTrue) |
| DELEGATE_FIELD_CHILD(If, condition) |
| DELEGATE_FIELD_CASE_END(If) |
| |
| DELEGATE_FIELD_CASE_START(Loop) |
| DELEGATE_FIELD_CHILD(Loop, body) |
| DELEGATE_FIELD_SCOPE_NAME_DEF(Loop, name) |
| DELEGATE_FIELD_CASE_END(Loop) |
| |
| DELEGATE_FIELD_CASE_START(Break) |
| DELEGATE_FIELD_OPTIONAL_CHILD(Break, condition) |
| DELEGATE_FIELD_OPTIONAL_CHILD(Break, value) |
| DELEGATE_FIELD_SCOPE_NAME_USE(Break, name) |
| DELEGATE_FIELD_CASE_END(Break) |
| |
| DELEGATE_FIELD_CASE_START(Switch) |
| DELEGATE_FIELD_CHILD(Switch, condition) |
| DELEGATE_FIELD_OPTIONAL_CHILD(Switch, value) |
| DELEGATE_FIELD_SCOPE_NAME_USE(Switch, default_) |
| DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(Switch, targets) |
| DELEGATE_FIELD_CASE_END(Switch) |
| |
| DELEGATE_FIELD_CASE_START(Call) |
| DELEGATE_FIELD_CHILD_VECTOR(Call, operands) |
| DELEGATE_FIELD_NAME_KIND(Call, target, ModuleItemKind::Function) |
| DELEGATE_FIELD_INT(Call, isReturn) |
| DELEGATE_FIELD_CASE_END(Call) |
| |
| DELEGATE_FIELD_CASE_START(CallIndirect) |
| DELEGATE_FIELD_CHILD(CallIndirect, target) |
| DELEGATE_FIELD_NAME_KIND(CallIndirect, table, ModuleItemKind::Table) |
| DELEGATE_FIELD_CHILD_VECTOR(CallIndirect, operands) |
| DELEGATE_FIELD_HEAPTYPE(CallIndirect, heapType) |
| DELEGATE_FIELD_INT(CallIndirect, isReturn) |
| DELEGATE_FIELD_CASE_END(CallIndirect) |
| |
| DELEGATE_FIELD_CASE_START(LocalGet) |
| DELEGATE_FIELD_INT(LocalGet, index) |
| DELEGATE_FIELD_CASE_END(LocalGet) |
| |
| DELEGATE_FIELD_CASE_START(LocalSet) |
| DELEGATE_FIELD_CHILD(LocalSet, value) |
| DELEGATE_FIELD_INT(LocalSet, index) |
| DELEGATE_FIELD_CASE_END(LocalSet) |
| |
| DELEGATE_FIELD_CASE_START(GlobalGet) |
| DELEGATE_FIELD_NAME_KIND(GlobalGet, name, ModuleItemKind::Global) |
| DELEGATE_FIELD_CASE_END(GlobalGet) |
| |
| DELEGATE_FIELD_CASE_START(GlobalSet) |
| DELEGATE_FIELD_CHILD(GlobalSet, value) |
| DELEGATE_FIELD_NAME_KIND(GlobalSet, name, ModuleItemKind::Global) |
| DELEGATE_FIELD_CASE_END(GlobalSet) |
| |
| DELEGATE_FIELD_CASE_START(Load) |
| DELEGATE_FIELD_CHILD(Load, ptr) |
| DELEGATE_FIELD_INT(Load, bytes) |
| DELEGATE_FIELD_INT(Load, signed_) |
| DELEGATE_FIELD_ADDRESS(Load, offset) |
| DELEGATE_FIELD_ADDRESS(Load, align) |
| DELEGATE_FIELD_INT(Load, isAtomic) |
| DELEGATE_FIELD_NAME_KIND(Load, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(Load) |
| |
| DELEGATE_FIELD_CASE_START(Store) |
| DELEGATE_FIELD_CHILD(Store, value) |
| DELEGATE_FIELD_CHILD(Store, ptr) |
| DELEGATE_FIELD_INT(Store, bytes) |
| DELEGATE_FIELD_ADDRESS(Store, offset) |
| DELEGATE_FIELD_ADDRESS(Store, align) |
| DELEGATE_FIELD_INT(Store, isAtomic) |
| DELEGATE_FIELD_TYPE(Store, valueType) |
| DELEGATE_FIELD_NAME_KIND(Store, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(Store) |
| |
| DELEGATE_FIELD_CASE_START(AtomicRMW) |
| DELEGATE_FIELD_CHILD(AtomicRMW, value) |
| DELEGATE_FIELD_CHILD(AtomicRMW, ptr) |
| DELEGATE_FIELD_INT(AtomicRMW, op) |
| DELEGATE_FIELD_INT(AtomicRMW, bytes) |
| DELEGATE_FIELD_ADDRESS(AtomicRMW, offset) |
| DELEGATE_FIELD_NAME_KIND(AtomicRMW, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(AtomicRMW) |
| |
| DELEGATE_FIELD_CASE_START(AtomicCmpxchg) |
| DELEGATE_FIELD_CHILD(AtomicCmpxchg, replacement) |
| DELEGATE_FIELD_CHILD(AtomicCmpxchg, expected) |
| DELEGATE_FIELD_CHILD(AtomicCmpxchg, ptr) |
| DELEGATE_FIELD_INT(AtomicCmpxchg, bytes) |
| DELEGATE_FIELD_ADDRESS(AtomicCmpxchg, offset) |
| DELEGATE_FIELD_NAME_KIND(AtomicCmpxchg, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(AtomicCmpxchg) |
| |
| DELEGATE_FIELD_CASE_START(AtomicWait) |
| DELEGATE_FIELD_CHILD(AtomicWait, timeout) |
| DELEGATE_FIELD_CHILD(AtomicWait, expected) |
| DELEGATE_FIELD_CHILD(AtomicWait, ptr) |
| DELEGATE_FIELD_ADDRESS(AtomicWait, offset) |
| DELEGATE_FIELD_TYPE(AtomicWait, expectedType) |
| DELEGATE_FIELD_NAME_KIND(AtomicWait, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(AtomicWait) |
| |
| DELEGATE_FIELD_CASE_START(AtomicNotify) |
| DELEGATE_FIELD_CHILD(AtomicNotify, notifyCount) |
| DELEGATE_FIELD_CHILD(AtomicNotify, ptr) |
| DELEGATE_FIELD_ADDRESS(AtomicNotify, offset) |
| DELEGATE_FIELD_NAME_KIND(AtomicNotify, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(AtomicNotify) |
| |
| DELEGATE_FIELD_CASE_START(AtomicFence) |
| DELEGATE_FIELD_INT(AtomicFence, order) |
| DELEGATE_FIELD_CASE_END(AtomicFence) |
| |
| DELEGATE_FIELD_CASE_START(Pause) |
| DELEGATE_FIELD_CASE_END(Pause) |
| |
| DELEGATE_FIELD_CASE_START(SIMDExtract) |
| DELEGATE_FIELD_CHILD(SIMDExtract, vec) |
| DELEGATE_FIELD_INT(SIMDExtract, op) |
| DELEGATE_FIELD_INT(SIMDExtract, index) |
| DELEGATE_FIELD_CASE_END(SIMDExtract) |
| |
| DELEGATE_FIELD_CASE_START(SIMDReplace) |
| DELEGATE_FIELD_CHILD(SIMDReplace, value) |
| DELEGATE_FIELD_CHILD(SIMDReplace, vec) |
| DELEGATE_FIELD_INT(SIMDReplace, op) |
| DELEGATE_FIELD_INT(SIMDReplace, index) |
| DELEGATE_FIELD_CASE_END(SIMDReplace) |
| |
| DELEGATE_FIELD_CASE_START(SIMDShuffle) |
| DELEGATE_FIELD_CHILD(SIMDShuffle, right) |
| DELEGATE_FIELD_CHILD(SIMDShuffle, left) |
| DELEGATE_FIELD_INT_ARRAY(SIMDShuffle, mask) |
| DELEGATE_FIELD_CASE_END(SIMDShuffle) |
| |
| DELEGATE_FIELD_CASE_START(SIMDTernary) |
| DELEGATE_FIELD_CHILD(SIMDTernary, c) |
| DELEGATE_FIELD_CHILD(SIMDTernary, b) |
| DELEGATE_FIELD_CHILD(SIMDTernary, a) |
| DELEGATE_FIELD_INT(SIMDTernary, op) |
| DELEGATE_FIELD_CASE_END(SIMDTernary) |
| |
| DELEGATE_FIELD_CASE_START(SIMDShift) |
| DELEGATE_FIELD_CHILD(SIMDShift, shift) |
| DELEGATE_FIELD_CHILD(SIMDShift, vec) |
| DELEGATE_FIELD_INT(SIMDShift, op) |
| DELEGATE_FIELD_CASE_END(SIMDShift) |
| |
| DELEGATE_FIELD_CASE_START(SIMDLoad) |
| DELEGATE_FIELD_CHILD(SIMDLoad, ptr) |
| DELEGATE_FIELD_INT(SIMDLoad, op) |
| DELEGATE_FIELD_ADDRESS(SIMDLoad, offset) |
| DELEGATE_FIELD_ADDRESS(SIMDLoad, align) |
| DELEGATE_FIELD_NAME_KIND(SIMDLoad, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(SIMDLoad) |
| |
| DELEGATE_FIELD_CASE_START(SIMDLoadStoreLane) |
| DELEGATE_FIELD_CHILD(SIMDLoadStoreLane, vec) |
| DELEGATE_FIELD_CHILD(SIMDLoadStoreLane, ptr) |
| DELEGATE_FIELD_INT(SIMDLoadStoreLane, op) |
| DELEGATE_FIELD_ADDRESS(SIMDLoadStoreLane, offset) |
| DELEGATE_FIELD_ADDRESS(SIMDLoadStoreLane, align) |
| DELEGATE_FIELD_INT(SIMDLoadStoreLane, index) |
| DELEGATE_FIELD_NAME_KIND(SIMDLoadStoreLane, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(SIMDLoadStoreLane) |
| |
| DELEGATE_FIELD_CASE_START(MemoryInit) |
| DELEGATE_FIELD_CHILD(MemoryInit, size) |
| DELEGATE_FIELD_CHILD(MemoryInit, offset) |
| DELEGATE_FIELD_CHILD(MemoryInit, dest) |
| DELEGATE_FIELD_NAME_KIND(MemoryInit, segment, ModuleItemKind::DataSegment) |
| DELEGATE_FIELD_NAME_KIND(MemoryInit, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(MemoryInit) |
| |
| DELEGATE_FIELD_CASE_START(DataDrop) |
| DELEGATE_FIELD_NAME_KIND(DataDrop, segment, ModuleItemKind::DataSegment) |
| DELEGATE_FIELD_CASE_END(DataDrop) |
| |
| DELEGATE_FIELD_CASE_START(MemoryCopy) |
| DELEGATE_FIELD_CHILD(MemoryCopy, size) |
| DELEGATE_FIELD_CHILD(MemoryCopy, source) |
| DELEGATE_FIELD_CHILD(MemoryCopy, dest) |
| DELEGATE_FIELD_NAME_KIND(MemoryCopy, sourceMemory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_NAME_KIND(MemoryCopy, destMemory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(MemoryCopy) |
| |
| DELEGATE_FIELD_CASE_START(MemoryFill) |
| DELEGATE_FIELD_CHILD(MemoryFill, size) |
| DELEGATE_FIELD_CHILD(MemoryFill, value) |
| DELEGATE_FIELD_CHILD(MemoryFill, dest) |
| DELEGATE_FIELD_NAME_KIND(MemoryFill, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(MemoryFill) |
| |
| DELEGATE_FIELD_CASE_START(Const) |
| DELEGATE_FIELD_LITERAL(Const, value) |
| DELEGATE_FIELD_CASE_END(Const) |
| |
| DELEGATE_FIELD_CASE_START(Unary) |
| DELEGATE_FIELD_CHILD(Unary, value) |
| DELEGATE_FIELD_INT(Unary, op) |
| DELEGATE_FIELD_CASE_END(Unary) |
| |
| DELEGATE_FIELD_CASE_START(Binary) |
| DELEGATE_FIELD_CHILD(Binary, right) |
| DELEGATE_FIELD_CHILD(Binary, left) |
| DELEGATE_FIELD_INT(Binary, op) |
| DELEGATE_FIELD_CASE_END(Binary) |
| |
| DELEGATE_FIELD_CASE_START(Select) |
| DELEGATE_FIELD_CHILD(Select, condition) |
| DELEGATE_FIELD_CHILD(Select, ifFalse) |
| DELEGATE_FIELD_CHILD(Select, ifTrue) |
| DELEGATE_FIELD_CASE_END(Select) |
| |
| DELEGATE_FIELD_CASE_START(Drop) |
| DELEGATE_FIELD_CHILD(Drop, value) |
| DELEGATE_FIELD_CASE_END(Drop) |
| |
| DELEGATE_FIELD_CASE_START(Return) |
| DELEGATE_FIELD_OPTIONAL_CHILD(Return, value) |
| DELEGATE_FIELD_CASE_END(Return) |
| |
| DELEGATE_FIELD_CASE_START(MemorySize) |
| DELEGATE_FIELD_NAME_KIND(MemorySize, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(MemorySize) |
| |
| DELEGATE_FIELD_CASE_START(MemoryGrow) |
| DELEGATE_FIELD_CHILD(MemoryGrow, delta) |
| DELEGATE_FIELD_NAME_KIND(MemoryGrow, memory, ModuleItemKind::Memory) |
| DELEGATE_FIELD_CASE_END(MemoryGrow) |
| |
| DELEGATE_FIELD_CASE_START(RefNull) |
| DELEGATE_FIELD_CASE_END(RefNull) |
| |
| DELEGATE_FIELD_CASE_START(RefIsNull) |
| DELEGATE_FIELD_CHILD(RefIsNull, value) |
| DELEGATE_FIELD_CASE_END(RefIsNull) |
| |
| DELEGATE_FIELD_CASE_START(RefFunc) |
| DELEGATE_FIELD_NAME_KIND(RefFunc, func, ModuleItemKind::Function) |
| DELEGATE_FIELD_CASE_END(RefFunc) |
| |
| DELEGATE_FIELD_CASE_START(RefEq) |
| DELEGATE_FIELD_CHILD(RefEq, right) |
| DELEGATE_FIELD_CHILD(RefEq, left) |
| DELEGATE_FIELD_CASE_END(RefEq) |
| |
| DELEGATE_FIELD_CASE_START(TableGet) |
| DELEGATE_FIELD_CHILD(TableGet, index) |
| DELEGATE_FIELD_NAME_KIND(TableGet, table, ModuleItemKind::Table) |
| DELEGATE_FIELD_CASE_END(TableGet) |
| |
| DELEGATE_FIELD_CASE_START(TableSet) |
| DELEGATE_FIELD_CHILD(TableSet, value) |
| DELEGATE_FIELD_CHILD(TableSet, index) |
| DELEGATE_FIELD_NAME_KIND(TableSet, table, ModuleItemKind::Table) |
| DELEGATE_FIELD_CASE_END(TableSet) |
| |
| DELEGATE_FIELD_CASE_START(TableSize) |
| DELEGATE_FIELD_NAME_KIND(TableSize, table, ModuleItemKind::Table) |
| DELEGATE_FIELD_CASE_END(TableSize) |
| |
| DELEGATE_FIELD_CASE_START(TableGrow) |
| DELEGATE_FIELD_CHILD(TableGrow, delta) |
| DELEGATE_FIELD_CHILD(TableGrow, value) |
| DELEGATE_FIELD_NAME_KIND(TableGrow, table, ModuleItemKind::Table) |
| DELEGATE_FIELD_CASE_END(TableGrow) |
| |
| DELEGATE_FIELD_CASE_START(TableFill) |
| DELEGATE_FIELD_CHILD(TableFill, size) |
| DELEGATE_FIELD_CHILD(TableFill, value) |
| DELEGATE_FIELD_CHILD(TableFill, dest) |
| DELEGATE_FIELD_NAME_KIND(TableFill, table, ModuleItemKind::Table) |
| DELEGATE_FIELD_CASE_END(TableFill) |
| |
| DELEGATE_FIELD_CASE_START(TableCopy) |
| DELEGATE_FIELD_CHILD(TableCopy, size) |
| DELEGATE_FIELD_CHILD(TableCopy, source) |
| DELEGATE_FIELD_CHILD(TableCopy, dest) |
| DELEGATE_FIELD_NAME_KIND(TableCopy, sourceTable, ModuleItemKind::Table) |
| DELEGATE_FIELD_NAME_KIND(TableCopy, destTable, ModuleItemKind::Table) |
| DELEGATE_FIELD_CASE_END(TableCopy) |
| |
| DELEGATE_FIELD_CASE_START(TableInit) |
| DELEGATE_FIELD_CHILD(TableInit, size) |
| DELEGATE_FIELD_CHILD(TableInit, offset) |
| DELEGATE_FIELD_CHILD(TableInit, dest) |
| DELEGATE_FIELD_NAME_KIND(TableInit, segment, ModuleItemKind::ElementSegment) |
| DELEGATE_FIELD_NAME_KIND(TableInit, table, ModuleItemKind::Table) |
| DELEGATE_FIELD_CASE_END(TableInit) |
| |
| DELEGATE_FIELD_CASE_START(ElemDrop) |
| DELEGATE_FIELD_NAME_KIND(ElemDrop, segment, ModuleItemKind::ElementSegment) |
| DELEGATE_FIELD_CASE_END(ElemDrop) |
| |
| DELEGATE_FIELD_CASE_START(Try) |
| DELEGATE_FIELD_SCOPE_NAME_USE(Try, delegateTarget) |
| DELEGATE_FIELD_CHILD_VECTOR(Try, catchBodies) |
| DELEGATE_FIELD_NAME_KIND_VECTOR(Try, catchTags, ModuleItemKind::Tag) |
| DELEGATE_FIELD_SCOPE_NAME_DEF(Try, name) |
| DELEGATE_FIELD_CHILD(Try, body) |
| DELEGATE_FIELD_CASE_END(Try) |
| |
| DELEGATE_FIELD_CASE_START(TryTable) |
| DELEGATE_FIELD_TYPE_VECTOR(TryTable, sentTypes) |
| DELEGATE_FIELD_INT_VECTOR(TryTable, catchRefs) |
| DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(TryTable, catchDests) |
| DELEGATE_FIELD_NAME_KIND_VECTOR(TryTable, catchTags, ModuleItemKind::Tag) |
| DELEGATE_FIELD_CHILD(TryTable, body) |
| DELEGATE_FIELD_CASE_END(TryTable) |
| |
| DELEGATE_FIELD_CASE_START(Throw) |
| DELEGATE_FIELD_CHILD_VECTOR(Throw, operands) |
| DELEGATE_FIELD_NAME_KIND(Throw, tag, ModuleItemKind::Tag) |
| DELEGATE_FIELD_CASE_END(Throw) |
| |
| DELEGATE_FIELD_CASE_START(Rethrow) |
| DELEGATE_FIELD_SCOPE_NAME_USE(Rethrow, target) |
| DELEGATE_FIELD_CASE_END(Rethrow) |
| |
| DELEGATE_FIELD_CASE_START(ThrowRef) |
| DELEGATE_FIELD_CHILD(ThrowRef, exnref) |
| DELEGATE_FIELD_CASE_END(ThrowRef) |
| |
| DELEGATE_FIELD_CASE_START(Nop) |
| DELEGATE_FIELD_CASE_END(Nop) |
| |
| DELEGATE_FIELD_CASE_START(Unreachable) |
| DELEGATE_FIELD_CASE_END(Unreachable) |
| |
| DELEGATE_FIELD_CASE_START(Pop) |
| DELEGATE_FIELD_CASE_END(Pop) |
| |
| DELEGATE_FIELD_CASE_START(TupleMake) |
| DELEGATE_FIELD_CHILD_VECTOR(TupleMake, operands) |
| DELEGATE_FIELD_CASE_END(TupleMake) |
| |
| DELEGATE_FIELD_CASE_START(TupleExtract) |
| DELEGATE_FIELD_CHILD(TupleExtract, tuple) |
| DELEGATE_FIELD_INT(TupleExtract, index) |
| DELEGATE_FIELD_CASE_END(TupleExtract) |
| |
| DELEGATE_FIELD_CASE_START(RefI31) |
| DELEGATE_FIELD_CHILD(RefI31, value) |
| DELEGATE_FIELD_CASE_END(RefI31) |
| |
| DELEGATE_FIELD_CASE_START(I31Get) |
| DELEGATE_FIELD_CHILD(I31Get, i31) |
| DELEGATE_FIELD_INT(I31Get, signed_) |
| DELEGATE_FIELD_CASE_END(I31Get) |
| |
| DELEGATE_FIELD_CASE_START(CallRef) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(CallRef, target) |
| DELEGATE_FIELD_CHILD_VECTOR(CallRef, operands) |
| DELEGATE_FIELD_INT(CallRef, isReturn) |
| DELEGATE_FIELD_CASE_END(CallRef) |
| |
| DELEGATE_FIELD_CASE_START(RefTest) |
| DELEGATE_FIELD_TYPE(RefTest, castType) |
| DELEGATE_FIELD_CHILD(RefTest, ref) |
| DELEGATE_FIELD_CASE_END(RefTest) |
| |
| DELEGATE_FIELD_CASE_START(RefCast) |
| DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD(RefCast, desc) |
| DELEGATE_FIELD_CHILD(RefCast, ref) |
| DELEGATE_FIELD_CASE_END(RefCast) |
| |
| DELEGATE_FIELD_CASE_START(RefGetDesc) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(RefGetDesc, ref) |
| DELEGATE_FIELD_CASE_END(RefGetDesc) |
| |
| DELEGATE_FIELD_CASE_START(BrOn) |
| DELEGATE_FIELD_INT(BrOn, op) |
| DELEGATE_FIELD_SCOPE_NAME_USE(BrOn, name) |
| DELEGATE_FIELD_TYPE(BrOn, castType) |
| DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD(BrOn, desc) |
| DELEGATE_FIELD_CHILD(BrOn, ref) |
| DELEGATE_FIELD_CASE_END(BrOn) |
| |
| DELEGATE_FIELD_CASE_START(StructNew) |
| DELEGATE_FIELD_OPTIONAL_CHILD(StructNew, desc) |
| DELEGATE_FIELD_CHILD_VECTOR(StructNew, operands) |
| DELEGATE_FIELD_CASE_END(StructNew) |
| |
| DELEGATE_FIELD_CASE_START(StructGet) |
| DELEGATE_FIELD_INT(StructGet, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(StructGet, ref) |
| DELEGATE_FIELD_INT(StructGet, signed_) |
| DELEGATE_FIELD_INT(StructGet, order) |
| DELEGATE_FIELD_CASE_END(StructGet) |
| |
| DELEGATE_FIELD_CASE_START(StructSet) |
| DELEGATE_FIELD_INT(StructSet, index) |
| DELEGATE_FIELD_CHILD(StructSet, value) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(StructSet, ref) |
| DELEGATE_FIELD_INT(StructSet, order) |
| DELEGATE_FIELD_CASE_END(StructSet) |
| |
| DELEGATE_FIELD_CASE_START(StructRMW) |
| DELEGATE_FIELD_INT(StructRMW, op) |
| DELEGATE_FIELD_INT(StructRMW, index) |
| DELEGATE_FIELD_CHILD(StructRMW, value) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(StructRMW, ref) |
| DELEGATE_FIELD_INT(StructRMW, order) |
| DELEGATE_FIELD_CASE_END(StructRMW) |
| |
| DELEGATE_FIELD_CASE_START(StructCmpxchg) |
| DELEGATE_FIELD_INT(StructCmpxchg, index) |
| DELEGATE_FIELD_CHILD(StructCmpxchg, replacement) |
| DELEGATE_FIELD_CHILD(StructCmpxchg, expected) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(StructCmpxchg, ref) |
| DELEGATE_FIELD_INT(StructCmpxchg, order) |
| DELEGATE_FIELD_CASE_END(StructCmpxchg) |
| |
| DELEGATE_FIELD_CASE_START(ArrayNew) |
| DELEGATE_FIELD_CHILD(ArrayNew, size) |
| DELEGATE_FIELD_OPTIONAL_CHILD(ArrayNew, init) |
| DELEGATE_FIELD_CASE_END(ArrayNew) |
| |
| DELEGATE_FIELD_CASE_START(ArrayNewData) |
| DELEGATE_FIELD_NAME_KIND(ArrayNewData, segment, ModuleItemKind::DataSegment) |
| DELEGATE_FIELD_CHILD(ArrayNewData, size) |
| DELEGATE_FIELD_CHILD(ArrayNewData, offset) |
| DELEGATE_FIELD_CASE_END(ArrayNewData) |
| |
| DELEGATE_FIELD_CASE_START(ArrayNewElem) |
| DELEGATE_FIELD_NAME_KIND(ArrayNewElem, segment, ModuleItemKind::ElementSegment) |
| DELEGATE_FIELD_CHILD(ArrayNewElem, size) |
| DELEGATE_FIELD_CHILD(ArrayNewElem, offset) |
| DELEGATE_FIELD_CASE_END(ArrayNewElem) |
| |
| DELEGATE_FIELD_CASE_START(ArrayNewFixed) |
| DELEGATE_FIELD_CHILD_VECTOR(ArrayNewFixed, values) |
| DELEGATE_FIELD_CASE_END(ArrayNewFixed) |
| |
| DELEGATE_FIELD_CASE_START(ArrayGet) |
| DELEGATE_FIELD_CHILD(ArrayGet, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayGet, ref) |
| DELEGATE_FIELD_INT(ArrayGet, signed_) |
| DELEGATE_FIELD_INT(ArraySet, order) |
| DELEGATE_FIELD_CASE_END(ArrayGet) |
| |
| DELEGATE_FIELD_CASE_START(ArraySet) |
| DELEGATE_FIELD_CHILD(ArraySet, value) |
| DELEGATE_FIELD_CHILD(ArraySet, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArraySet, ref) |
| DELEGATE_FIELD_INT(ArraySet, order) |
| DELEGATE_FIELD_CASE_END(ArraySet) |
| |
| DELEGATE_FIELD_CASE_START(ArrayLen) |
| DELEGATE_FIELD_CHILD(ArrayLen, ref) |
| DELEGATE_FIELD_CASE_END(ArrayLen) |
| |
| DELEGATE_FIELD_CASE_START(ArrayCopy) |
| DELEGATE_FIELD_CHILD(ArrayCopy, length) |
| DELEGATE_FIELD_CHILD(ArrayCopy, srcIndex) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayCopy, srcRef) |
| DELEGATE_FIELD_CHILD(ArrayCopy, destIndex) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayCopy, destRef) |
| DELEGATE_FIELD_CASE_END(ArrayCopy) |
| |
| DELEGATE_FIELD_CASE_START(ArrayFill) |
| DELEGATE_FIELD_CHILD(ArrayFill, size) |
| DELEGATE_FIELD_CHILD(ArrayFill, value) |
| DELEGATE_FIELD_CHILD(ArrayFill, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayFill, ref) |
| DELEGATE_FIELD_CASE_END(ArrayFill) |
| |
| DELEGATE_FIELD_CASE_START(ArrayInitData) |
| DELEGATE_FIELD_NAME_KIND(ArrayInitData, segment, ModuleItemKind::DataSegment) |
| DELEGATE_FIELD_CHILD(ArrayInitData, size) |
| DELEGATE_FIELD_CHILD(ArrayInitData, offset) |
| DELEGATE_FIELD_CHILD(ArrayInitData, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayInitData, ref) |
| DELEGATE_FIELD_CASE_END(ArrayInitData) |
| |
| DELEGATE_FIELD_CASE_START(ArrayInitElem) |
| DELEGATE_FIELD_NAME_KIND(ArrayInitElem, segment, ModuleItemKind::ElementSegment) |
| DELEGATE_FIELD_CHILD(ArrayInitElem, size) |
| DELEGATE_FIELD_CHILD(ArrayInitElem, offset) |
| DELEGATE_FIELD_CHILD(ArrayInitElem, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayInitElem, ref) |
| DELEGATE_FIELD_CASE_END(ArrayInitElem) |
| |
| DELEGATE_FIELD_CASE_START(ArrayRMW) |
| DELEGATE_FIELD_INT(ArrayRMW, op) |
| DELEGATE_FIELD_CHILD(ArrayRMW, value) |
| DELEGATE_FIELD_CHILD(ArrayRMW, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayRMW, ref) |
| DELEGATE_FIELD_INT(ArrayRMW, order) |
| DELEGATE_FIELD_CASE_END(ArrayRMW) |
| |
| DELEGATE_FIELD_CASE_START(ArrayCmpxchg) |
| DELEGATE_FIELD_CHILD(ArrayCmpxchg, replacement) |
| DELEGATE_FIELD_CHILD(ArrayCmpxchg, expected) |
| DELEGATE_FIELD_CHILD(ArrayCmpxchg, index) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ArrayCmpxchg, ref) |
| DELEGATE_FIELD_INT(ArrayCmpxchg, order) |
| DELEGATE_FIELD_CASE_END(ArrayCmpxchg) |
| |
| DELEGATE_FIELD_CASE_START(RefAs) |
| DELEGATE_FIELD_INT(RefAs, op) |
| DELEGATE_FIELD_CHILD(RefAs, value) |
| DELEGATE_FIELD_CASE_END(RefAs) |
| |
| DELEGATE_FIELD_CASE_START(StringNew) |
| DELEGATE_FIELD_INT(StringNew, op) |
| DELEGATE_FIELD_OPTIONAL_CHILD(StringNew, end) |
| DELEGATE_FIELD_OPTIONAL_CHILD(StringNew, start) |
| DELEGATE_FIELD_CHILD(StringNew, ref) |
| DELEGATE_FIELD_CASE_END(StringNew) |
| |
| DELEGATE_FIELD_CASE_START(StringConst) |
| DELEGATE_FIELD_NAME(StringConst, string) |
| DELEGATE_FIELD_CASE_END(StringConst) |
| |
| DELEGATE_FIELD_CASE_START(StringMeasure) |
| DELEGATE_FIELD_INT(StringMeasure, op) |
| DELEGATE_FIELD_CHILD(StringMeasure, ref) |
| DELEGATE_FIELD_CASE_END(StringMeasure) |
| |
| DELEGATE_FIELD_CASE_START(StringEncode) |
| DELEGATE_FIELD_INT(StringEncode, op) |
| DELEGATE_FIELD_OPTIONAL_CHILD(StringEncode, start) |
| DELEGATE_FIELD_CHILD(StringEncode, array) |
| DELEGATE_FIELD_CHILD(StringEncode, str) |
| DELEGATE_FIELD_CASE_END(StringEncode) |
| |
| DELEGATE_FIELD_CASE_START(StringConcat) |
| DELEGATE_FIELD_CHILD(StringConcat, right) |
| DELEGATE_FIELD_CHILD(StringConcat, left) |
| DELEGATE_FIELD_CASE_END(StringConcat) |
| |
| DELEGATE_FIELD_CASE_START(StringEq) |
| DELEGATE_FIELD_INT(StringEq, op) |
| DELEGATE_FIELD_CHILD(StringEq, right) |
| DELEGATE_FIELD_CHILD(StringEq, left) |
| DELEGATE_FIELD_CASE_END(StringEq) |
| |
| DELEGATE_FIELD_CASE_START(StringTest) |
| DELEGATE_FIELD_CHILD(StringTest, ref) |
| DELEGATE_FIELD_CASE_END(StringTest) |
| |
| DELEGATE_FIELD_CASE_START(StringWTF16Get) |
| DELEGATE_FIELD_CHILD(StringWTF16Get, pos) |
| DELEGATE_FIELD_CHILD(StringWTF16Get, ref) |
| DELEGATE_FIELD_CASE_END(StringWTF16Get) |
| |
| DELEGATE_FIELD_CASE_START(StringSliceWTF) |
| DELEGATE_FIELD_CHILD(StringSliceWTF, end) |
| DELEGATE_FIELD_CHILD(StringSliceWTF, start) |
| DELEGATE_FIELD_CHILD(StringSliceWTF, ref) |
| DELEGATE_FIELD_CASE_END(StringSliceWTF) |
| |
| DELEGATE_FIELD_CASE_START(ContNew) |
| DELEGATE_FIELD_CHILD(ContNew, func) |
| DELEGATE_FIELD_CASE_END(ContNew) |
| |
| DELEGATE_FIELD_CASE_START(ContBind) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ContBind, cont) |
| DELEGATE_FIELD_CHILD_VECTOR(ContBind, operands) |
| DELEGATE_FIELD_CASE_END(ContBind) |
| |
| DELEGATE_FIELD_CASE_START(Suspend) |
| DELEGATE_FIELD_CHILD_VECTOR(Suspend, operands) |
| DELEGATE_FIELD_NAME_KIND(Suspend, tag, ModuleItemKind::Tag) |
| DELEGATE_FIELD_CASE_END(Suspend) |
| |
| DELEGATE_FIELD_CASE_START(Resume) |
| DELEGATE_FIELD_TYPE_VECTOR(Resume, sentTypes) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(Resume, cont) |
| DELEGATE_FIELD_CHILD_VECTOR(Resume, operands) |
| DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(Resume, handlerBlocks) |
| DELEGATE_FIELD_NAME_KIND_VECTOR(Resume, handlerTags, ModuleItemKind::Tag) |
| DELEGATE_FIELD_CASE_END(Resume) |
| |
| DELEGATE_FIELD_CASE_START(ResumeThrow) |
| DELEGATE_FIELD_TYPE_VECTOR(ResumeThrow, sentTypes) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(ResumeThrow, cont) |
| DELEGATE_FIELD_CHILD_VECTOR(ResumeThrow, operands) |
| DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(ResumeThrow, handlerBlocks) |
| DELEGATE_FIELD_NAME_KIND_VECTOR(ResumeThrow, handlerTags, ModuleItemKind::Tag) |
| DELEGATE_FIELD_NAME_KIND(ResumeThrow, tag, ModuleItemKind::Tag) |
| DELEGATE_FIELD_CASE_END(ResumeThrow) |
| |
| DELEGATE_FIELD_CASE_START(StackSwitch) |
| DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD(StackSwitch, cont) |
| DELEGATE_FIELD_CHILD_VECTOR(StackSwitch, operands) |
| DELEGATE_FIELD_NAME_KIND(StackSwitch, tag, ModuleItemKind::Tag) |
| DELEGATE_FIELD_CASE_END(StackSwitch) |
| |
| |
| DELEGATE_FIELD_MAIN_END |
| |
| #undef DELEGATE_ID |
| #undef DELEGATE_START |
| #undef DELEGATE_END |
| #undef DELEGATE_FIELD_CHILD |
| #undef DELEGATE_FIELD_IMMEDIATE_TYPED_CHILD |
| #undef DELEGATE_FIELD_OPTIONAL_CHILD |
| #undef DELEGATE_FIELD_OPTIONAL_IMMEDIATE_TYPED_CHILD |
| #undef DELEGATE_FIELD_CHILD_VECTOR |
| #undef DELEGATE_FIELD_INT |
| #undef DELEGATE_FIELD_INT_ARRAY |
| #undef DELEGATE_FIELD_INT_VECTOR |
| #undef DELEGATE_FIELD_LITERAL |
| #undef DELEGATE_FIELD_NAME |
| #undef DELEGATE_FIELD_NAME_VECTOR |
| #undef DELEGATE_FIELD_SCOPE_NAME_DEF |
| #undef DELEGATE_FIELD_SCOPE_NAME_USE |
| #undef DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR |
| #undef DELEGATE_FIELD_NAME_KIND |
| #undef DELEGATE_FIELD_NAME_KIND_VECTOR |
| #undef DELEGATE_FIELD_TYPE |
| #undef DELEGATE_FIELD_TYPE_VECTOR |
| #undef DELEGATE_FIELD_HEAPTYPE |
| #undef DELEGATE_FIELD_ADDRESS |
| #undef DELEGATE_GET_FIELD |
| |
| #undef DELEGATE_FIELD_MAIN_START |
| #undef DELEGATE_FIELD_MAIN_END |
| #undef DELEGATE_FIELD_CASE_START |
| #undef DELEGATE_FIELD_CASE_END |