Packages
orb
0.0.5
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
0.0.51
0.0.49
0.0.48
0.0.47
0.0.46
0.0.45
0.0.44
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
retired
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
DSL for WebAssembly
Current section
Files
Jump to
Current section
Files
lib/orb/i32/u8/pointer.ex
defmodule Orb.I32.U8.Pointer do
@moduledoc """
Custom `Orb.Type` for pointer to 8-bit integer (byte) in memory.
"""
@behaviour Orb.Type
@behaviour Access
@impl Orb.Type
def wasm_type(), do: :i32
@impl Orb.Type
def byte_count(), do: 1
@impl Access
def fetch(%Orb.VariableReference{} = var_ref, at!: offset) do
ast = {:i32, :load8_u, Orb.Numeric.Add.optimized(Orb.I32, var_ref, offset)}
{:ok, ast}
end
end