Sam Clegg 79aad89d8d [WebAssembly] Add support for externalref to MC and wasm-ld
This allows code for handling externref values to be processed by the
assembler and linker.

Differential Revision: https://reviews.llvm.org/D81977
2020-06-22 15:57:24 -07:00

37 lines
924 B
ArmAsm

# RUN: llvm-mc -triple=wasm32-unknown-unknown -filetype=obj < %s | obj2yaml | FileCheck %s
# Tests use of externref type, including storing it in a global
.globaltype my_global, externref
.globl read_externref
read_externref:
.functype read_externref () -> (externref)
global.get my_global
end_function
.globl write_externref
write_externref:
.functype write_externref (externref) -> ()
local.get 0
global.set my_global
end_function
.globl call_with_ref
call_with_ref:
.functype call_with_ref () -> ()
call read_externref
call write_externref
end_function
my_global:
# CHECK: - Type: GLOBAL
# CHECK-NEXT: Globals:
# CHECK-NEXT: - Index: 0
# CHECK-NEXT: Type: EXTERNREF
# CHECK-NEXT: Mutable: true
# CHECK-NEXT: InitExpr:
# CHECK-NEXT: Opcode: REF_NULL
# CHECK-NEXT: Type: EXTERNREF