move-stackless-bytecode 0.3.2

Move stackless bytecode
Documentation
============ initial translation from Move ================

[variant baseline]
public fun Exists::call_with_type_param1($t0|a: address): bool {
     var $t1: address
     var $t2: bool
  0: $t1 := move($t0)
  1: $t2 := Exists::exists_generic<Exists::T>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::call_with_type_param2<#0, #1>($t0|a: address): bool {
     var $t1: address
     var $t2: bool
  0: $t1 := move($t0)
  1: $t2 := Exists::exists_generic<#1>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::exists_const(): bool {
     var $t0: address
     var $t1: bool
  0: $t0 := 0x1
  1: $t1 := exists<Exists::T>($t0)
  2: return $t1
}


[variant baseline]
public fun Exists::exists_field($t0|s: &Exists::S): bool {
     var $t1: &Exists::S
     var $t2: &address
     var $t3: address
     var $t4: bool
  0: $t1 := move($t0)
  1: $t2 := borrow_field<Exists::S>.f($t1)
  2: $t3 := read_ref($t2)
  3: $t4 := exists<Exists::T>($t3)
  4: return $t4
}


[variant baseline]
public fun Exists::exists_formal($t0|a: address): bool {
     var $t1: address
     var $t2: bool
  0: $t1 := move($t0)
  1: $t2 := exists<Exists::T>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::exists_generic<#0>($t0|a: address): bool {
     var $t1: address
     var $t2: bool
  0: $t1 := move($t0)
  1: $t2 := exists<Exists::V<#0>>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::exists_generic_instantiated($t0|a: address): bool {
     var $t1: address
     var $t2: bool
  0: $t1 := move($t0)
  1: $t2 := exists<Exists::V<Exists::T>>($t1)
  2: return $t2
}

============ after pipeline `read_write_set` ================

[variant baseline]
public fun Exists::call_with_type_param1($t0|a: address): bool {
     var $t1: address
     var $t2: bool
     # Accesses:
     # Formal(0): Read
     # Formal(0)/0x2::Exists::V<0x2::Exists::T>: Read
     #
     # Locals:
     #
  0: $t1 := move($t0)
  1: $t2 := Exists::exists_generic<Exists::T>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::call_with_type_param2<#0, #1>($t0|a: address): bool {
     var $t1: address
     var $t2: bool
     # Accesses:
     # Formal(0): Read
     # Formal(0)/Exists::V<#1>: Read
     #
     # Locals:
     #
  0: $t1 := move($t0)
  1: $t2 := Exists::exists_generic<#1>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::exists_const(): bool {
     var $t0: address
     var $t1: bool
     # Accesses:
     # 0x1/0x2::Exists::T: Read
     #
     # Locals:
     #
  0: $t0 := 0x1
  1: $t1 := exists<Exists::T>($t0)
  2: return $t1
}


[variant baseline]
public fun Exists::exists_field($t0|s: &Exists::S): bool {
     var $t1: &Exists::S
     var $t2: &address
     var $t3: address
     var $t4: bool
     # Accesses:
     # Formal(0): Read
     # Formal(0)/f: Read
     # Formal(0)/f/0x2::Exists::T: Read
     #
     # Locals:
     #
  0: $t1 := move($t0)
  1: $t2 := borrow_field<Exists::S>.f($t1)
  2: $t3 := read_ref($t2)
  3: $t4 := exists<Exists::T>($t3)
  4: return $t4
}


[variant baseline]
public fun Exists::exists_formal($t0|a: address): bool {
     var $t1: address
     var $t2: bool
     # Accesses:
     # Formal(0): Read
     # Formal(0)/0x2::Exists::T: Read
     #
     # Locals:
     #
  0: $t1 := move($t0)
  1: $t2 := exists<Exists::T>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::exists_generic<#0>($t0|a: address): bool {
     var $t1: address
     var $t2: bool
     # Accesses:
     # Formal(0): Read
     # Formal(0)/Exists::V<#0>: Read
     #
     # Locals:
     #
  0: $t1 := move($t0)
  1: $t2 := exists<Exists::V<#0>>($t1)
  2: return $t2
}


[variant baseline]
public fun Exists::exists_generic_instantiated($t0|a: address): bool {
     var $t1: address
     var $t2: bool
     # Accesses:
     # Formal(0): Read
     # Formal(0)/0x2::Exists::V<0x2::Exists::T>: Read
     #
     # Locals:
     #
  0: $t1 := move($t0)
  1: $t2 := exists<Exists::V<Exists::T>>($t1)
  2: return $t2
}