blob: 3c2d2f96de61b6b8bdb408ca5a5266d3941a78cd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
;; Copyright (C) 2019 Intel Corporation. All rights reserved.
;; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
(module
(type $t0 (func (param i32 externref) (result i32)))
(import "env" "native-cmp-externref"
(func $native-cmp-externref (param externref externref) (result i32))
)
(import "env" "native-chk-externref"
(func $native-chk-externref (param i32 externref) (result i32))
)
(table $t1 8 8 externref)
(table $t2 funcref
(elem
$native-cmp-externref
$native-chk-externref
)
)
(func (export "set-externref") (param $i i32) (param $r externref)
(table.set $t1 (local.get $i) (local.get $r))
)
(func (export "get-externref") (param $i i32) (result externref)
(table.get $t1 (local.get $i))
)
(func (export "cmp-externref") (param $i i32) (param $r externref) (result i32)
(table.get $t1 (local.get $i))
(local.get $r)
(call $native-cmp-externref)
)
(func (export "chk-externref") (param $i i32) (param $r externref) (result i32)
(call_indirect $t2 (type $t0)
(local.get $i)
(local.get $r)
(i32.const 1)
)
)
)
|