All Classes and Interfaces

Class
Description
An TableConvention that has a Java array as its underlying representation.
A basic block, encapsulating a list of Effect instructions, followed by exactly one Control instruction at the end.
The ubiquitous calling convention.
An extension that can be attached onto something.
A MemoryConvention that has a ByteBuffer as its underlying representation.
A convention that defines how parameters are passed to, and arguments received from, a function, and how values (possibly many) should be returned.
An event that can be cancelled, preventing other listeners from receiving it.
A style of capitalising words for a token.
A case style like lowerCamelCase.
A capitalisation style for a single word.
A case-style that attempts to detect the style of an input token.
A case style like snake_case.
A pass which composes two others, executing the first, and giving its result to the second.
A pass which checks the validity of compiled Java code using CheckClassAdapter.
Command line interface for Wasm2j.
A pass which collapses empty blocks or simple jumps where they are unnecessary.
A collection of Exts that exist in both WebAssembly and Java IR.
The live variable information of a basic block.
A collection of Ops and OpKeys that exist in both WebAssembly and Java IR.
An event dispatched on WasmCompiler.
Computes CommonExts.DOM_FRONTIER for each block.
Compute the CommonExts.IDOM of each basic block.
Computes the CommonExts.LIVE_DATA for each block.
Computes CommonExts.PREDS for each block.
Compute the uses of every Var in a function.
A callback which is run by the default WirJavaConvention to modify the constructor in some way.
A subclass of ConstructorCallback without the no-op default implementation for ConstructorCallback.Abstract.modifyConstructor(IRBuilder, JClass.JavaMethod, Module, JClass), so it can be the target of a lambda expression.
A control instruction, encapsulating a raw instruction and the jump targets.
A function which modifies a local convention.
A convention that defines how to retrieve the contents of a data.
An ExportableConvention which just delegates to another.
An ExtHolder that additionally delegates to another ExtContainer if it can't find a given ext in itself.
A class with utilities for disassembling WebAssembly or Java bytecode.
An effect, encapsulating an instruction, and the variables its results are assigned to.
A convention that defines how to retrieve the contents and type of an element.
An optimisation pass that removes any blocks unreachable from the root block.
A pass which removes any Effects that have no side effects, and whose return values are unused.
Declares that a method corresponds to a function defined in the embedding section of the WebAssembly specification.
Fired when a class should be emitted.
A class on which events can be listened to.
A class on which events can be listened to and dispatched.
An export from a module, which is a name and its type.
A convention which may be exported from a module.
An ext, that can be associated with a value (of type T) in an ExtContainer.
A container for Exts.
The type of a WebAssembly extern.
A function type, consisting of parameter and result types.
A global type, consisting of a mutability and a value type.
The kind of extern: func, table, memory, or global.
A set of limits, a minimum and (possibly) a maximum.
A memory type, consisting of limits.
A table type, consisting of limits and a component type.
The top type.
An extern, a value that can be exported from a module instance, or provided as an import.
An implementation of ExtContainer using a Map.
F<A,B>
A simple unary function.
An optimisation pass that tries to find block structures that could be replaced with JavaOps.BOOL_SELECT instructions.
A class for detecting the format of a WebAssembly file (text or binary).
The format of a WebAssembly file, either text, binary, or unknown.
A pass which lifts passes which operate on smaller IR parts into onese that operate on bigger parts.
A basic block pass lifted to operate on a full function.
An instruction pass lifted to operate on a full basic block.
A function extern.
A function extern implemented by wrapping a method handle.
A function, encapsulating a list of basic blocks.
The convention for a WebAssembly function, defining how the function can be called, referenced, exported, and added to the constructor.
A FunctionConvention which delegates all calls to another.
Indicates that the annotated method is accessed from generated code.
A collection of utilities for constructing ValueGetters and ValueGetterSetters.
An GlobalConvention which implements sets and gets by delegating to ValueGetter and ValueSetters.
A global extern.
A global that stores its value directly.
A global that gets and sets through method handles.
The convention for a WebAssembly global, defining how the function can be referenced, set, exported, and added to the constructor.
A GlobalConvention which delegates all calls to another.
A class for walking a graph depth-first, in pre- or post-order.
An order over a graph.
Convert a function to a function which constructs a MethodHandle of the former, optionally binding certain arguments early (by keeping them "free" in the handle).
A pass which contracts CommonOps.IDENTITY instructions.
A class for finding the bytes a Java class.
An import of a module.
An interface for finding an import of a module.
A pass that infers the types of variables in a function.
A pass which infers the Java types of variables in a function.
A class for inlining a function into another.
An IR pass which is in-place.
An instruction, encapsulating an operation and its arguments.
A map from WebAssembly opcodes to values.
An instance of a module, from which exports can be retrieved.
An InstanceFunctionConvention which implements function calls by invoking a specific Java method on a Java object.
Static utilities for Java instructions.
A linker for WebAssembly modules that generates Java interfaces for every registered, or unregistered but imported, module.
An annotation that defines which WebAssembly instructions a method is an intrinsic implementation for.
An implementation of an intrinsic.
An IR, or instruction, builder, which encapsulates a position in a function where instructions are being inserted.
A pass to run on some part of the IR (e.g.
A set of utilities for working with Wasm2j's IR.
Not stable.
Not stable.
A collection of Exts that exist in Java IR.
Contains the intrinsics implementing most WebAssembly primitive operations.
A collection of Ops and OpKeys that exist only in Java IR.
A conditional jump's type in Java bytecode.
Fired just before the Java IR is converted to Java bytecode.
A pass that converts Java bytecode into an IR function.
Represents the IR of a Java class.
Represents a type that can be loaded as a constant method handle.
A field in a Java class.
A method in a Java class.
Fired immediately after the conversion from WebAssembly IR to Java IR.
A pass which converts Java IR to Java bytecode.
A lazily-initialized value.
A pass which allocates registers using a linear scan algorithm.
A pass which lowers intrinsics, either by inlining their code, or attaching them as a method to the class.
A pass which lowers phi nodes into assignments targeting the same variables.
A memory extern.
Bootstrap methods for memory load and store invokedynamic instructions.
A memory implemented using a ByteBuffer.
A memory which delegates its calls to the provided method handles.
Something that has a WebAssembly single-byte opcode.
A type of load instruction.
A type of store instruction.
The convention for a WebAssembly memory, defining how the memory can be accessed and exported, and added to the constructor.
A MemoryConvention which delegates all calls to another.
A pass which merges JavaOps.BOOL_SELECT instructions with JavaOps.BR_COND and JavaOps.SELECT instructions.
Keeps track of the state of certain metadata in a Function, such as its SSA-ness.
A kind of metadata whose presence can be checked, but also specifies how to compute it.
A kind of metadata whose presence can be checked on MetadataState.
An event fired when constructing the Java conventions of a module compilation.
Represents the IR of a WebAssembly module.
A parsed WebAssembly module.
Represents the compilation of a single (already parsed and validated) WebAssembly module.
An event fired during the compilation of a single module.
Thrown when instantiation of a module fails (is refused) for a reason other than it being invalid.
A class for mangling names, converting (possibly invalid) tokens to new tokens that are valid, according to a set of rules.
A name mangler that forbids a certain set of characters.
A policy for how illegal characters should be handled.
A mangler which outputs valid Java identifiers.
A bit which parses the name section of a module, and renames the Java methods to match the names given in the section.
A representation of the name section of a WebAssembly module.
An interface for supplying translations of WebAssembly names into appropriate Java names.
A simple name supplier.
An operation, encapsulating an operation key and any intermediates.
Java implementations of certain WebAssembly primitives.
An operation key, representing a type of operation, without intermediates.
A bit which outputs emitted classes to the given directory.
A simple two-tuple, with defined equality and hashing.
Some pre-composed passes.
 
Fired when a module compilation is started.
 
Utilities for displaying the IR to an SVG document, for debugging purposes.
 
 
 
Formally, in the WebAssembly specification, the store contains (owns) all the values (functions, memories, tables) of a set of modules.
A table extern.
A table with an array as the underlying representation.
A table which stores its elements as a table in itself.
A table which implements its methods by delegating to method handles.
The convention for a WebAssembly table, defining how the table can be accessed and exported, and added to the constructor.
A TableConvention which delegates all calls to another.
 
Miscellaneous utilities.
An enum that represents a WebAssembly type, and gives its canonical mapping to a Java class.
A value that can be retrieved.
A value that can be both retrieved and set.
A value that can be set.
A variable, a virtual register.
 
A compiler from WebAssembly to Java bytecode.
Provides the pass to compile WebAssembly.
 
 
 
 
 
 
 
 
 
 
Converts WebAssembly code to WebAssembly IR.
 
 
 
A direct implementation of the WebAssembly embedding entry-points as defined in the embedding section of the specification.
Definitions for how certain WebAssembly concepts should be translated into Java.
Creates instances of WirJavaConvention for compiling the contents of a WebAssembly-IR Module into a Java-IR JClass.
A builder for a (configurable) default WirJavaConventionFactory.
An event fired just after the WebAssembly module is compiled to IR for the first time.
Converts WebAssembly IR (possibly not in SSA form) into Java IR, according to a set of conventions.