15481 lines
151 KiB
Plaintext
15481 lines
151 KiB
Plaintext
{
|
|
"name": "qbe.cm",
|
|
"functions": [
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.t =l and {1}, 1\n %{2} =w ceql %{3}.t, 0\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.t1 =l and {1}, 1\n %{2}.ii =w ceql %{3}.t1, 0\n %{4}.t2 =l and {5}, 7\n %{6}.fi =w ceql %{7}.t2, 5\n %{8} =w or %{9}.ii, %{10}.fi\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.t =l and {1}, 31\n %{2} =w ceql %{3}.t, 7\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.t =l and {1}, 31\n %{2} =w ceql %{3}.t, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.t =l and {1}, 31\n %{2} =w ceql %{3}.t, 15\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.t =l and {1}, 7\n %{2} =w ceql %{3}.t, 1\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.t =l and {1}, 31\n %{2} =w ceql %{3}.t, 27\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.imm =l and {1}, 31\n %{2}.is_imm =w ceql %{3}.imm, 27\n jnz %{4}.is_imm, @{5}.yes, @{6}.chk_ptr\n@{7}.chk_ptr\n %{8}.ptag =l and {9}, 7\n %{10}.is_ptr =w ceql %{11}.ptag, 1\n jnz %{12}.is_ptr, @{13}.load_hdr, @{14}.no\n@{15}.load_hdr\n %{16}.ptr =l and {17}, -8\n %{18}.hdr =l loadl %{19}.ptr\n@{20}.chase\n %{21}.ht =l and %{22}.hdr, 7\n %{23}.is_fwd =w ceql %{24}.ht, 7\n jnz %{25}.is_fwd, @{26}.follow, @{27}.chk_type\n@{28}.follow\n %{29}.ptr =l shr %{30}.hdr, 3\n %{31}.hdr =l loadl %{32}.ptr\n jmp @{33}.chase\n@{34}.chk_type\n %{35} =w ceql %{36}.ht, 2\n jmp @{37}.done\n@{38}.yes\n %{39} =w copy 1\n jmp @{40}.done\n@{41}.no\n %{42} =w copy 0\n@{43}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.sl =l sar {1}, 1\n %{2} =w copy %{3}.sl\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.sl =l shr {1}, 5\n %{2} =w and %{3}.sl, 1\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0} =l and {1}, -8\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
3,
|
|
16,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
" %{0}.sign =l shr {1}, 63\n %{2}.sexp =l shr {3}, 55\n %{4}.sexp =l and %{5}.sexp, 255\n %{6}.mant =l shr {7}, 3\n %{8}.mant =l and %{9}.mant, {10}\n %{11}.dexp =l sub %{12}.sexp, 127\n %{13}.dexp =l add %{14}.dexp, 1023\n %{15}.s63 =l shl %{16}.sign, 63\n %{17}.e52 =l shl %{18}.dexp, 52\n %{19}.bits =l or %{20}.s63, %{21}.e52\n %{22}.bits =l or %{23}.bits, %{24}.mant\n %{25} =d cast %{26}.bits\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
3,
|
|
16,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
" %{0}.tag =l and {1}, 1\n %{2}.is_int =w ceql %{3}.tag, 0\n jnz %{4}.is_int, @{5}.from_int, @{6}.from_float\n@{7}.from_int\n %{8}.isl =l sar {9}, 1\n %{10}.iw =w copy %{11}.isl\n %{12} =d swtof %{13}.iw\n jmp @{14}.done\n@{15}.from_float\n %{16}.fsexp =l shr {17}, 55\n %{18}.fsexp =l and %{19}.fsexp, 255\n %{20}.is_zero =w ceql %{21}.fsexp, 0\n jnz %{22}.is_zero, @{23}.fzero, @{24}.fdecode\n@{25}.fzero\n %{26} =d copy d_0.0\n jmp @{27}.done\n@{28}.fdecode\n %{29}.fsign =l shr {30}, 63\n %{31}.fmant =l shr {32}, 3\n %{33}.fmant =l and %{34}.fmant, {35}\n %{36}.fdexp =l sub %{37}.fsexp, 127\n %{38}.fdexp =l add %{39}.fdexp, 1023\n %{40}.fs63 =l shl %{41}.fsign, 63\n %{42}.fe52 =l shl %{43}.fdexp, 52\n %{44}.fbits =l or %{45}.fs63, %{46}.fe52\n %{47}.fbits =l or %{48}.fbits, %{49}.fmant\n %{50} =d cast %{51}.fbits\n@{52}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.ext =l extuw {1}\n %{2} =l shl %{3}.ext, 1\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 10,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
3,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
3,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
4,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
" %{0}.ext =l extuw {1}\n %{2}.sh =l shl %{3}.ext, 5\n %{4} =l or %{5}.sh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
7,
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
0,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
1,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
7,
|
|
2,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 2
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
" %{0} =l call $__JS_NewFloat64(l {1}, d {2})\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
5,
|
|
36,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"get",
|
|
6,
|
|
1,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
7,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
9,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.not_both_int, @{10}.int_path\n@{11}.int_path\n %{12}.ia =l sar {13}, 1\n %{14}.ib =l sar {15}, 1\n %{16}.sum =l add %{17}.ia, %{18}.ib\n %{19}.lo =w csltl %{20}.sum, {21}\n %{22}.hi =w csgtl %{23}.sum, {24}\n %{25}.ov =w or %{26}.lo, %{27}.hi\n jnz %{28}.ov, @{29}.int_overflow, @{30}.int_ok\n@{31}.int_ok\n %{32}.rw =w copy %{33}.sum\n %{34}.rext =l extuw %{35}.rw\n %{36} =l shl %{37}.rext, 1\n jmp @{38}.done\n@{39}.int_overflow\n %{40}.fd =d sltof %{41}.sum\n %{42} =l call $__JS_NewFloat64(l {43}, d %{44}.fd)\n jmp @{45}.done\n@{46}.not_both_int\n %{47}.a_is_text =w call $JS_IsText(l {48})\n %{49}.b_is_text =w call $JS_IsText(l {50})\n %{51}.both_text =w and %{52}.a_is_text, %{53}.b_is_text\n jnz %{54}.both_text, @{55}.text_path, @{56}.chk_num\n@{57}.text_path\n %{58} =l call $JS_ConcatString(l {59}, l {60}, l {61})\n jmp @{62}.done\n@{63}.chk_num\n %{64}.a_is_num =w call $JS_IsNumber(l {65})\n %{66}.b_is_num =w call $JS_IsNumber(l {67})\n %{68}.both_num =w and %{69}.a_is_num, %{70}.b_is_num\n jnz %{71}.both_num, @{72}.float_path, @disrupt\n@{73}.float_path\n %{74} =l call $qbe_float_add(l {75}, l {76}, l {77})\n@{78}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
11,
|
|
8,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
0,
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
1,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
2,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
11,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
5,
|
|
36,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"get",
|
|
6,
|
|
1,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
7,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
9,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.not_both_int, @{10}.int_path\n@{11}.int_path\n %{12}.ia =l sar {13}, 1\n %{14}.ib =l sar {15}, 1\n %{16}.diff =l sub %{17}.ia, %{18}.ib\n %{19}.lo =w csltl %{20}.diff, {21}\n %{22}.hi =w csgtl %{23}.diff, {24}\n %{25}.ov =w or %{26}.lo, %{27}.hi\n jnz %{28}.ov, @{29}.int_overflow, @{30}.int_ok\n@{31}.int_ok\n %{32}.rw =w copy %{33}.diff\n %{34}.rext =l extuw %{35}.rw\n %{36} =l shl %{37}.rext, 1\n jmp @{38}.done\n@{39}.int_overflow\n %{40}.fd =d sltof %{41}.diff\n %{42} =l call $__JS_NewFloat64(l {43}, d %{44}.fd)\n jmp @{45}.done\n@{46}.not_both_int\n %{47}.a_is_num =w call $JS_IsNumber(l {48})\n %{49}.b_is_num =w call $JS_IsNumber(l {50})\n %{51}.both_num =w and %{52}.a_is_num, %{53}.b_is_num\n jnz %{54}.both_num, @{55}.float_path, @disrupt\n@{56}.float_path\n %{57} =l call $qbe_float_sub(l {58}, l {59}, l {60})\n@{61}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
11,
|
|
8,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
0,
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
1,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
2,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
11,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
5,
|
|
36,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"get",
|
|
6,
|
|
1,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
7,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
9,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.not_both_int, @{10}.int_path\n@{11}.int_path\n %{12}.ia =l sar {13}, 1\n %{14}.ib =l sar {15}, 1\n %{16}.prod =l mul %{17}.ia, %{18}.ib\n %{19}.lo =w csltl %{20}.prod, {21}\n %{22}.hi =w csgtl %{23}.prod, {24}\n %{25}.ov =w or %{26}.lo, %{27}.hi\n jnz %{28}.ov, @{29}.int_overflow, @{30}.int_ok\n@{31}.int_ok\n %{32}.rw =w copy %{33}.prod\n %{34}.rext =l extuw %{35}.rw\n %{36} =l shl %{37}.rext, 1\n jmp @{38}.done\n@{39}.int_overflow\n %{40}.fd =d sltof %{41}.prod\n %{42} =l call $__JS_NewFloat64(l {43}, d %{44}.fd)\n jmp @{45}.done\n@{46}.not_both_int\n %{47}.a_is_num =w call $JS_IsNumber(l {48})\n %{49}.b_is_num =w call $JS_IsNumber(l {50})\n %{51}.both_num =w and %{52}.a_is_num, %{53}.b_is_num\n jnz %{54}.both_num, @{55}.float_path, @disrupt\n@{56}.float_path\n %{57} =l call $qbe_float_mul(l {58}, l {59}, l {60})\n@{61}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
11,
|
|
8,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
0,
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
1,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
2,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
11,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 13,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
5,
|
|
11,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
6,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.not_both_int, @{10}.int_path\n@{11}.int_path\n %{12}.ia =w copy 0\n %{13}.tmp =l sar {14}, 1\n %{15}.ia =w copy %{16}.tmp\n %{17}.ib =w copy 0\n %{18}.tmp2 =l sar {19}, 1\n %{20}.ib =w copy %{21}.tmp2\n %{22}.div0 =w ceqw %{23}.ib, 0\n jnz %{24}.div0, @{25}.ret_null, @{26}.chk_exact\n@{27}.ret_null\n %{28} =l copy {29}\n jmp @{30}.done\n@{31}.chk_exact\n %{32}.rem =w rem %{33}.ia, %{34}.ib\n %{35}.exact =w ceqw %{36}.rem, 0\n jnz %{37}.exact, @{38}.int_div, @{39}.int_to_float\n@{40}.int_div\n %{41}.q =w div %{42}.ia, %{43}.ib\n %{44}.qext =l extuw %{45}.q\n %{46} =l shl %{47}.qext, 1\n jmp @{48}.done\n@{49}.int_to_float\n %{50}.da =d swtof %{51}.ia\n %{52}.db =d swtof %{53}.ib\n %{54}.dr =d div %{55}.da, %{56}.db\n %{57} =l call $__JS_NewFloat64(l {58}, d %{59}.dr)\n jmp @{60}.done\n@{61}.not_both_int\n %{62}.a_is_num =w call $JS_IsNumber(l {63})\n %{64}.b_is_num =w call $JS_IsNumber(l {65})\n %{66}.both_num =w and %{67}.a_is_num, %{68}.b_is_num\n jnz %{69}.both_num, @{70}.float_path, @disrupt\n@{71}.float_path\n %{72} =l call $qbe_float_div(l {73}, l {74}, l {75})\n@{76}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
10,
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
11,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
10,
|
|
0,
|
|
11,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
10,
|
|
1,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
10,
|
|
2,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
10,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 13,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
5,
|
|
11,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
6,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
6,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.not_both_int, @{10}.int_path\n@{11}.int_path\n %{12}.ia =w copy 0\n %{13}.tmp =l sar {14}, 1\n %{15}.ia =w copy %{16}.tmp\n %{17}.ib =w copy 0\n %{18}.tmp2 =l sar {19}, 1\n %{20}.ib =w copy %{21}.tmp2\n %{22}.div0 =w ceqw %{23}.ib, 0\n jnz %{24}.div0, @{25}.ret_null, @{26}.do_mod\n@{27}.ret_null\n %{28} =l copy {29}\n jmp @{30}.done\n@{31}.do_mod\n %{32}.r =w rem %{33}.ia, %{34}.ib\n %{35}.rext =l extuw %{36}.r\n %{37} =l shl %{38}.rext, 1\n jmp @{39}.done\n@{40}.not_both_int\n %{41}.a_is_num =w call $JS_IsNumber(l {42})\n %{43}.b_is_num =w call $JS_IsNumber(l {44})\n %{45}.both_num =w and %{46}.a_is_num, %{47}.b_is_num\n jnz %{48}.both_num, @{49}.float_path, @disrupt\n@{50}.float_path\n %{51} =l call $qbe_float_mod(l {52}, l {53}, l {54})\n@{55}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
10,
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
11,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
10,
|
|
0,
|
|
11,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
10,
|
|
1,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
10,
|
|
2,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
10,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 35,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
10,
|
|
24,
|
|
1,
|
|
408,
|
|
20
|
|
],
|
|
[
|
|
"load_field",
|
|
11,
|
|
10,
|
|
"int_cmp_op",
|
|
408,
|
|
20
|
|
],
|
|
[
|
|
"move",
|
|
8,
|
|
11,
|
|
408,
|
|
20
|
|
],
|
|
[
|
|
"get",
|
|
12,
|
|
24,
|
|
1,
|
|
409,
|
|
25
|
|
],
|
|
[
|
|
"load_field",
|
|
13,
|
|
12,
|
|
"float_id",
|
|
409,
|
|
25
|
|
],
|
|
[
|
|
"move",
|
|
5,
|
|
13,
|
|
409,
|
|
25
|
|
],
|
|
[
|
|
"access",
|
|
9,
|
|
0,
|
|
410,
|
|
17
|
|
],
|
|
[
|
|
"get",
|
|
14,
|
|
47,
|
|
1,
|
|
411,
|
|
22
|
|
],
|
|
[
|
|
"move",
|
|
6,
|
|
14,
|
|
411,
|
|
22
|
|
],
|
|
[
|
|
"get",
|
|
15,
|
|
47,
|
|
1,
|
|
412,
|
|
18
|
|
],
|
|
[
|
|
"move",
|
|
7,
|
|
15,
|
|
412,
|
|
18
|
|
],
|
|
[
|
|
"get",
|
|
16,
|
|
24,
|
|
1,
|
|
413,
|
|
7
|
|
],
|
|
[
|
|
"load_field",
|
|
17,
|
|
16,
|
|
"is_eq",
|
|
413,
|
|
7
|
|
],
|
|
[
|
|
"move",
|
|
18,
|
|
17,
|
|
413,
|
|
7
|
|
],
|
|
[
|
|
"jump_true",
|
|
18,
|
|
"or_end_2",
|
|
413,
|
|
7
|
|
],
|
|
[
|
|
"get",
|
|
19,
|
|
24,
|
|
1,
|
|
413,
|
|
24
|
|
],
|
|
[
|
|
"load_field",
|
|
20,
|
|
19,
|
|
"is_ne",
|
|
413,
|
|
24
|
|
],
|
|
[
|
|
"move",
|
|
18,
|
|
20,
|
|
413,
|
|
24
|
|
],
|
|
"or_end_2",
|
|
[
|
|
"jump_false",
|
|
18,
|
|
"if_else_0",
|
|
413,
|
|
24
|
|
],
|
|
[
|
|
"access",
|
|
21,
|
|
1,
|
|
414,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
9,
|
|
21,
|
|
414,
|
|
15
|
|
],
|
|
[
|
|
"jump",
|
|
"if_end_1",
|
|
414,
|
|
15
|
|
],
|
|
"if_else_0",
|
|
"if_end_1",
|
|
[
|
|
"get",
|
|
22,
|
|
24,
|
|
1,
|
|
416,
|
|
7
|
|
],
|
|
[
|
|
"load_field",
|
|
23,
|
|
22,
|
|
"is_ne",
|
|
416,
|
|
7
|
|
],
|
|
[
|
|
"jump_false",
|
|
23,
|
|
"if_else_3",
|
|
416,
|
|
7
|
|
],
|
|
[
|
|
"get",
|
|
24,
|
|
66,
|
|
1,
|
|
417,
|
|
20
|
|
],
|
|
[
|
|
"move",
|
|
6,
|
|
24,
|
|
417,
|
|
20
|
|
],
|
|
[
|
|
"jump",
|
|
"if_end_4",
|
|
417,
|
|
20
|
|
],
|
|
"if_else_3",
|
|
"if_end_4",
|
|
[
|
|
"get",
|
|
25,
|
|
24,
|
|
1,
|
|
419,
|
|
7
|
|
],
|
|
[
|
|
"load_field",
|
|
26,
|
|
25,
|
|
"null_true",
|
|
419,
|
|
7
|
|
],
|
|
[
|
|
"jump_false",
|
|
26,
|
|
"if_else_5",
|
|
419,
|
|
7
|
|
],
|
|
[
|
|
"get",
|
|
27,
|
|
66,
|
|
1,
|
|
420,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
7,
|
|
27,
|
|
420,
|
|
16
|
|
],
|
|
[
|
|
"jump",
|
|
"if_end_6",
|
|
420,
|
|
16
|
|
],
|
|
"if_else_5",
|
|
"if_end_6",
|
|
[
|
|
"array",
|
|
28,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
28,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
29,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
30,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.not_both_int, @{10}.int_path\n@{11}.int_path\n %{12}.ia =l sar {13}, 1\n %{14}.ib =l sar {15}, 1\n %{16}.iw =w copy %{17}.ia\n %{18}.ibw =w copy %{19}.ib\n %{20}.cr =w {21} %{22}.iw, %{23}.ibw\n %{24}.crext =l extuw %{25}.cr\n %{26}.sh =l shl %{27}.crext, 5\n %{28} =l or %{29}.sh, 3\n jmp @{30}.done\n@{31}.not_both_int\n %{32}.a_tag5 =l and {33}, 31\n %{34}.b_tag5 =l and {35}, 31\n %{36}.a_is_null =w ceql %{37}.a_tag5, 7\n %{38}.b_is_null =w ceql %{39}.b_tag5, 7\n %{40}.both_null =w and %{41}.a_is_null, %{42}.b_is_null\n jnz %{43}.both_null, @{44}.null_path, @{45}.chk_bool\n@{46}.null_path\n %{47} =l copy {48}\n jmp @{49}.done\n@{50}.chk_bool\n %{51}.a_is_bool =w ceql %{52}.a_tag5, 3\n %{53}.b_is_bool =w ceql %{54}.b_tag5, 3\n %{55}.both_bool =w and %{56}.a_is_bool, %{57}.b_is_bool\n jnz %{58}.both_bool, @{59}.bool_path, @{60}.chk_num\n@{61}.bool_path\n %{62}.ba =l shr {63}, 5\n %{64}.baw =w and %{65}.ba, 1\n %{66}.bb =l shr {67}, 5\n %{68}.bbw =w and %{69}.bb, 1\n %{70}.bcr =w {71} %{72}.baw, %{73}.bbw\n %{74}.bcrext =l extuw %{75}.bcr\n %{76}.bsh =l shl %{77}.bcrext, 5\n %{78} =l or %{79}.bsh, 3\n jmp @{80}.done\n@{81}.chk_num\n %{82}.a_is_num =w call $JS_IsNumber(l {83})\n %{84}.b_is_num =w call $JS_IsNumber(l {85})\n %{86}.both_num =w and %{87}.a_is_num, %{88}.b_is_num\n jnz %{89}.both_num, @{90}.num_path, @{91}.chk_text\n@{92}.num_path\n %{93}.fcr =w call $qbe_float_cmp(l {94}, w {95}, l {96}, l {97})\n %{98}.fcrext =l extuw %{99}.fcr\n %{100}.fsh =l shl %{101}.fcrext, 5\n %{102} =l or %{103}.fsh, 3\n jmp @{104}.done\n@{105}.chk_text\n %{106}.a_is_text =w call $JS_IsText(l {107})\n %{108}.b_is_text =w call $JS_IsText(l {109})\n %{110}.both_text =w and %{111}.a_is_text, %{112}.b_is_text\n jnz %{113}.both_text, @{114}.text_path, @{115}.mismatch\n@{116}.text_path\n %{117}.scmp =w call $js_string_compare_value(l {118}, l {119}, l {120}, w {121})\n %{122}.tcr =w {123} %{124}.scmp, 0\n %{125}.tcrext =l extuw %{126}.tcr\n %{127}.tsh =l shl %{128}.tcrext, 5\n %{129} =l or %{130}.tsh, 3\n jmp @{131}.done\n@{132}.mismatch\n %{133} =l copy {134}\n@{135}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
32,
|
|
29,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
33,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
32,
|
|
0,
|
|
33,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
32,
|
|
1,
|
|
30,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
32,
|
|
2,
|
|
28,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
32,
|
|
31,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
31,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 16,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"record",
|
|
5,
|
|
0
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
"ceqw",
|
|
495,
|
|
26
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
6,
|
|
"int_cmp_op",
|
|
495,
|
|
26
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
0,
|
|
495,
|
|
44
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
7,
|
|
"float_id",
|
|
495,
|
|
44
|
|
],
|
|
[
|
|
"true",
|
|
8,
|
|
495,
|
|
54
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
8,
|
|
"is_eq",
|
|
495,
|
|
54
|
|
],
|
|
[
|
|
"false",
|
|
9,
|
|
495,
|
|
67
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
9,
|
|
"is_ne",
|
|
495,
|
|
67
|
|
],
|
|
[
|
|
"true",
|
|
10,
|
|
495,
|
|
85
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
10,
|
|
"null_true",
|
|
495,
|
|
85
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
24,
|
|
1,
|
|
495,
|
|
85
|
|
],
|
|
[
|
|
"get",
|
|
12,
|
|
33,
|
|
1,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
13,
|
|
12,
|
|
4,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
14,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
0,
|
|
14,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
1,
|
|
1,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
2,
|
|
2,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
3,
|
|
3,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
4,
|
|
4,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
13,
|
|
11,
|
|
496,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
11,
|
|
496,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 16,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"record",
|
|
5,
|
|
0
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
"cnew",
|
|
500,
|
|
26
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
6,
|
|
"int_cmp_op",
|
|
500,
|
|
26
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
1,
|
|
500,
|
|
44
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
7,
|
|
"float_id",
|
|
500,
|
|
44
|
|
],
|
|
[
|
|
"false",
|
|
8,
|
|
500,
|
|
54
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
8,
|
|
"is_eq",
|
|
500,
|
|
54
|
|
],
|
|
[
|
|
"true",
|
|
9,
|
|
500,
|
|
68
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
9,
|
|
"is_ne",
|
|
500,
|
|
68
|
|
],
|
|
[
|
|
"false",
|
|
10,
|
|
500,
|
|
85
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
10,
|
|
"null_true",
|
|
500,
|
|
85
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
24,
|
|
1,
|
|
500,
|
|
85
|
|
],
|
|
[
|
|
"get",
|
|
12,
|
|
33,
|
|
1,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
13,
|
|
12,
|
|
4,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
14,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
0,
|
|
14,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
1,
|
|
1,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
2,
|
|
2,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
3,
|
|
3,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
4,
|
|
4,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
13,
|
|
11,
|
|
501,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
11,
|
|
501,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 16,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"record",
|
|
5,
|
|
0
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
"csltw",
|
|
505,
|
|
26
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
6,
|
|
"int_cmp_op",
|
|
505,
|
|
26
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
2,
|
|
505,
|
|
45
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
7,
|
|
"float_id",
|
|
505,
|
|
45
|
|
],
|
|
[
|
|
"false",
|
|
8,
|
|
505,
|
|
55
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
8,
|
|
"is_eq",
|
|
505,
|
|
55
|
|
],
|
|
[
|
|
"false",
|
|
9,
|
|
505,
|
|
69
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
9,
|
|
"is_ne",
|
|
505,
|
|
69
|
|
],
|
|
[
|
|
"false",
|
|
10,
|
|
505,
|
|
87
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
10,
|
|
"null_true",
|
|
505,
|
|
87
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
24,
|
|
1,
|
|
505,
|
|
87
|
|
],
|
|
[
|
|
"get",
|
|
12,
|
|
33,
|
|
1,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
13,
|
|
12,
|
|
4,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
14,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
0,
|
|
14,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
1,
|
|
1,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
2,
|
|
2,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
3,
|
|
3,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
4,
|
|
4,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
13,
|
|
11,
|
|
506,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
11,
|
|
506,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 16,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"record",
|
|
5,
|
|
0
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
"cslew",
|
|
510,
|
|
26
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
6,
|
|
"int_cmp_op",
|
|
510,
|
|
26
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
3,
|
|
510,
|
|
45
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
7,
|
|
"float_id",
|
|
510,
|
|
45
|
|
],
|
|
[
|
|
"false",
|
|
8,
|
|
510,
|
|
55
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
8,
|
|
"is_eq",
|
|
510,
|
|
55
|
|
],
|
|
[
|
|
"false",
|
|
9,
|
|
510,
|
|
69
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
9,
|
|
"is_ne",
|
|
510,
|
|
69
|
|
],
|
|
[
|
|
"true",
|
|
10,
|
|
510,
|
|
87
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
10,
|
|
"null_true",
|
|
510,
|
|
87
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
24,
|
|
1,
|
|
510,
|
|
87
|
|
],
|
|
[
|
|
"get",
|
|
12,
|
|
33,
|
|
1,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
13,
|
|
12,
|
|
4,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
14,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
0,
|
|
14,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
1,
|
|
1,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
2,
|
|
2,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
3,
|
|
3,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
4,
|
|
4,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
13,
|
|
11,
|
|
511,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
11,
|
|
511,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 16,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"record",
|
|
5,
|
|
0
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
"csgtw",
|
|
515,
|
|
26
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
6,
|
|
"int_cmp_op",
|
|
515,
|
|
26
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
4,
|
|
515,
|
|
45
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
7,
|
|
"float_id",
|
|
515,
|
|
45
|
|
],
|
|
[
|
|
"false",
|
|
8,
|
|
515,
|
|
55
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
8,
|
|
"is_eq",
|
|
515,
|
|
55
|
|
],
|
|
[
|
|
"false",
|
|
9,
|
|
515,
|
|
69
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
9,
|
|
"is_ne",
|
|
515,
|
|
69
|
|
],
|
|
[
|
|
"false",
|
|
10,
|
|
515,
|
|
87
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
10,
|
|
"null_true",
|
|
515,
|
|
87
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
24,
|
|
1,
|
|
515,
|
|
87
|
|
],
|
|
[
|
|
"get",
|
|
12,
|
|
33,
|
|
1,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
13,
|
|
12,
|
|
4,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
14,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
0,
|
|
14,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
1,
|
|
1,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
2,
|
|
2,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
3,
|
|
3,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
4,
|
|
4,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
13,
|
|
11,
|
|
516,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
11,
|
|
516,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"record",
|
|
5,
|
|
0
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
"csgew",
|
|
520,
|
|
26
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
6,
|
|
"int_cmp_op",
|
|
520,
|
|
26
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
5,
|
|
520,
|
|
45
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
7,
|
|
"float_id",
|
|
520,
|
|
45
|
|
],
|
|
[
|
|
"false",
|
|
8,
|
|
520,
|
|
55
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
8,
|
|
"is_eq",
|
|
520,
|
|
55
|
|
],
|
|
[
|
|
"false",
|
|
9,
|
|
520,
|
|
69
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
9,
|
|
"is_ne",
|
|
520,
|
|
69
|
|
],
|
|
[
|
|
"true",
|
|
10,
|
|
520,
|
|
87
|
|
],
|
|
[
|
|
"store_field",
|
|
5,
|
|
10,
|
|
"null_true",
|
|
520,
|
|
87
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
24,
|
|
1,
|
|
520,
|
|
87
|
|
],
|
|
[
|
|
"null",
|
|
11,
|
|
520,
|
|
87
|
|
],
|
|
[
|
|
"return",
|
|
11,
|
|
520,
|
|
87
|
|
]
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
4,
|
|
36,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
5,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
"@{0}.start\n %{1}.tag =l and {2}, 1\n %{3}.is_int =w ceql %{4}.tag, 0\n jnz %{5}.is_int, @{6}.int_path, @{7}.float_path\n@{8}.int_path\n %{9}.sl =l sar {10}, 1\n %{11}.iw =w copy %{12}.sl\n %{13}.is_min =w ceqw %{14}.iw, {15}\n jnz %{16}.is_min, @{17}.min_overflow, @{18}.int_ok\n@{19}.min_overflow\n %{20}.fd =d swtof %{21}.iw\n %{22}.fdn =d neg %{23}.fd\n %{24} =l call $__JS_NewFloat64(l {25}, d %{26}.fdn)\n jmp @{27}.done\n@{28}.int_ok\n %{29}.ni =w sub 0, %{30}.iw\n %{31}.niext =l extuw %{32}.ni\n %{33} =l shl %{34}.niext, 1\n jmp @{35}.done\n@{36}.float_path\n %{37} =l call $qbe_float_neg(l {38}, l {39})\n@{40}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
9,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
4,
|
|
1,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
5,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
"@{0}.start\n %{1}.tag =l and {2}, 1\n %{3}.is_int =w ceql %{4}.tag, 0\n jnz %{5}.is_int, @{6}.int_path, @{7}.float_path\n@{8}.int_path\n %{9}.sl =l sar {10}, 1\n %{11}.iw =w copy %{12}.sl\n %{13}.is_max =w ceqw %{14}.iw, {15}\n jnz %{16}.is_max, @{17}.max_overflow, @{18}.int_ok\n@{19}.max_overflow\n %{20}.fd =d swtof %{21}.iw\n %{22}.fd1 =d add %{23}.fd, d_1.0\n %{24} =l call $__JS_NewFloat64(l {25}, d %{26}.fd1)\n jmp @{27}.done\n@{28}.int_ok\n %{29}.ni =w add %{30}.iw, 1\n %{31}.niext =l extuw %{32}.ni\n %{33} =l shl %{34}.niext, 1\n jmp @{35}.done\n@{36}.float_path\n %{37} =l call $qbe_float_inc(l {38}, l {39})\n@{40}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
9,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
4,
|
|
36,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"array",
|
|
5,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
"@{0}.start\n %{1}.tag =l and {2}, 1\n %{3}.is_int =w ceql %{4}.tag, 0\n jnz %{5}.is_int, @{6}.int_path, @{7}.float_path\n@{8}.int_path\n %{9}.sl =l sar {10}, 1\n %{11}.iw =w copy %{12}.sl\n %{13}.is_min =w ceqw %{14}.iw, {15}\n jnz %{16}.is_min, @{17}.min_overflow, @{18}.int_ok\n@{19}.min_overflow\n %{20}.fd =d swtof %{21}.iw\n %{22}.fd1 =d sub %{23}.fd, d_1.0\n %{24} =l call $__JS_NewFloat64(l {25}, d %{26}.fd1)\n jmp @{27}.done\n@{28}.int_ok\n %{29}.ni =w sub %{30}.iw, 1\n %{31}.niext =l extuw %{32}.ni\n %{33} =l shl %{34}.niext, 1\n jmp @{35}.done\n@{36}.float_path\n %{37} =l call $qbe_float_dec(l {38}, l {39})\n@{40}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
9,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
" %{0}.bval =w call $JS_ToBool(l {1}, l {2})\n %{3}.neg =w ceqw %{4}.bval, 0\n %{5}.nex =l extuw %{6}.neg\n %{7}.sh =l shl %{8}.nex, 5\n %{9} =l or %{10}.sh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
"@{0}.start\n %{1}.tag =l and {2}, 1\n %{3}.is_int =w ceql %{4}.tag, 0\n jnz %{5}.is_int, @{6}.int_path, @{7}.slow_path\n@{8}.int_path\n %{9}.sl =l sar {10}, 1\n %{11}.iw =w copy %{12}.sl\n %{13}.nw =w xor %{14}.iw, -1\n %{15}.nex =l extuw %{16}.nw\n %{17} =l shl %{18}.nex, 1\n jmp @{19}.done\n@{20}.slow_path\n %{21} =l call $qbe_bnot(l {22}, l {23})\n@{24}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
6,
|
|
50,
|
|
1,
|
|
644,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
5,
|
|
6,
|
|
644,
|
|
16
|
|
],
|
|
[
|
|
"array",
|
|
7,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
9,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.slow_path, @{10}.int_path\n@{11}.int_path\n %{12}.ia =l sar {13}, 1\n %{14}.iaw =w copy %{15}.ia\n %{16}.ib =l sar {17}, 1\n %{18}.ibw =w copy %{19}.ib\n %{20}.rw =w {21} %{22}.iaw, %{23}.ibw\n %{24}.rext =l extuw %{25}.rw\n %{26} =l shl %{27}.rext, 1\n jmp @{28}.done\n@{29}.slow_path\n %{30}.a_is_num =w call $JS_IsNumber(l {31})\n %{32}.b_is_num =w call $JS_IsNumber(l {33})\n %{34}.both_num =w and %{35}.a_is_num, %{36}.b_is_num\n jnz %{37}.both_num, @{38}.float_to_int, @disrupt\n@{39}.float_to_int\n %{40} =l call $qbe_bitwise_{41}(l {42}, l {43}, l {44})\n@{45}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
11,
|
|
8,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
0,
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
1,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
2,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
11,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"and",
|
|
671,
|
|
10
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
671,
|
|
10
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
6,
|
|
1,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
672,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
672,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"or",
|
|
676,
|
|
10
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
676,
|
|
10
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
6,
|
|
1,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
677,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
677,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"xor",
|
|
681,
|
|
10
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
681,
|
|
10
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
6,
|
|
1,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
682,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
682,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
6,
|
|
50,
|
|
1,
|
|
688,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
5,
|
|
6,
|
|
688,
|
|
16
|
|
],
|
|
[
|
|
"array",
|
|
7,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
9,
|
|
"@{0}.start\n %{1}.at =l and {2}, 1\n %{3}.bt =l and {4}, 1\n %{5}.not_int =l or %{6}.at, %{7}.bt\n jnz %{8}.not_int, @{9}.slow_path, @{10}.int_path\n@{11}.int_path\n %{12}.ia =l sar {13}, 1\n %{14}.iaw =w copy %{15}.ia\n %{16}.ib =l sar {17}, 1\n %{18}.ibw =w copy %{19}.ib\n %{20}.sh =w and %{21}.ibw, 31\n %{22}.rw =w {23} %{24}.iaw, %{25}.sh\n %{26}.rext =l extuw %{27}.rw\n %{28} =l shl %{29}.rext, 1\n jmp @{30}.done\n@{31}.slow_path\n %{32}.a_is_num =w call $JS_IsNumber(l {33})\n %{34}.b_is_num =w call $JS_IsNumber(l {35})\n %{36}.both_num =w and %{37}.a_is_num, %{38}.b_is_num\n jnz %{39}.both_num, @{40}.float_to_int, @disrupt\n@{41}.float_to_int\n %{42} =l call $qbe_shift_{43}(l {44}, l {45}, l {46})\n@{47}.done\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
11,
|
|
8,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
0,
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
1,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
2,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
11,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"shl",
|
|
716,
|
|
10
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
716,
|
|
10
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
39,
|
|
1,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
717,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
717,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"sar",
|
|
721,
|
|
10
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
721,
|
|
10
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
39,
|
|
1,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
722,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
722,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"shr",
|
|
726,
|
|
10
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
726,
|
|
10
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
39,
|
|
1,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
727,
|
|
10
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
727,
|
|
10
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
5,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
" %{0} =l call $JS_ConcatString(l {1}, l {2}, l {3})\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
9,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
5,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
5,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
7,
|
|
" %{0}.ia =l sar {1}, 1\n %{2}.ib =l sar {3}, 1\n %{4}.iaw =w copy %{5}.ia\n %{6}.ibw =w copy %{7}.ib\n %{8}.cr =w {9} %{10}.iaw, %{11}.ibw\n %{12}.crext =l extuw %{13}.cr\n %{14}.sh =l shl %{15}.crext, 5\n %{16} =l or %{17}.sh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
6,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
9,
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
8,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"ceqw",
|
|
754,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
20,
|
|
1,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
3,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
4,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
5,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
754,
|
|
46
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
754,
|
|
46
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"cnew",
|
|
755,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
20,
|
|
1,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
3,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
4,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
5,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
755,
|
|
46
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
755,
|
|
46
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"csltw",
|
|
756,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
20,
|
|
1,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
3,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
4,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
5,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
756,
|
|
46
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
756,
|
|
46
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"cslew",
|
|
757,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
20,
|
|
1,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
3,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
4,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
5,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
757,
|
|
46
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
757,
|
|
46
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"csgtw",
|
|
758,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
20,
|
|
1,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
3,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
4,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
5,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
758,
|
|
46
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
758,
|
|
46
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"csgew",
|
|
759,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
20,
|
|
1,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
3,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
4,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
5,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
759,
|
|
46
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
759,
|
|
46
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
6,
|
|
50,
|
|
1,
|
|
764,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
5,
|
|
6,
|
|
764,
|
|
15
|
|
],
|
|
[
|
|
"array",
|
|
7,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
7,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
9,
|
|
" %{0}.fcr =w call $qbe_float_cmp(l {1}, w {2}, l {3}, l {4})\n %{5}.fcrext =l extuw %{6}.fcr\n %{7}.fsh =l shl %{8}.fcrext, 5\n %{9} =l or %{10}.fsh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
11,
|
|
8,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
0,
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
1,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
11,
|
|
2,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
11,
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
10,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
0,
|
|
772,
|
|
48
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
772,
|
|
48
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
30,
|
|
1,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
772,
|
|
58
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
772,
|
|
58
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
1,
|
|
773,
|
|
48
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
773,
|
|
48
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
30,
|
|
1,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
773,
|
|
58
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
773,
|
|
58
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
2,
|
|
774,
|
|
48
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
774,
|
|
48
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
30,
|
|
1,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
774,
|
|
58
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
774,
|
|
58
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
3,
|
|
775,
|
|
48
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
775,
|
|
48
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
30,
|
|
1,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
775,
|
|
58
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
775,
|
|
58
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
4,
|
|
776,
|
|
48
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
776,
|
|
48
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
30,
|
|
1,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
776,
|
|
58
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
776,
|
|
58
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
5,
|
|
777,
|
|
48
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
777,
|
|
48
|
|
],
|
|
[
|
|
"get",
|
|
7,
|
|
30,
|
|
1,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
7,
|
|
4,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
1,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
2,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
3,
|
|
3,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
4,
|
|
4,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
8,
|
|
6,
|
|
777,
|
|
58
|
|
],
|
|
[
|
|
"return",
|
|
6,
|
|
777,
|
|
58
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 16,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"get",
|
|
7,
|
|
50,
|
|
1,
|
|
782,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
5,
|
|
7,
|
|
782,
|
|
16
|
|
],
|
|
[
|
|
"get",
|
|
8,
|
|
35,
|
|
1,
|
|
783,
|
|
17
|
|
],
|
|
[
|
|
"move",
|
|
6,
|
|
8,
|
|
783,
|
|
17
|
|
],
|
|
[
|
|
"array",
|
|
9,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
5,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
9,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
10,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
11,
|
|
" %{0}.scmp =w call $js_string_compare_value(l {1}, l {2}, l {3}, w {4})\n %{5}.tcr =w {6} %{7}.scmp, 0\n %{8}.tcrext =l extuw %{9}.tcr\n %{10}.tsh =l shl %{11}.tcrext, 5\n %{12} =l or %{13}.tsh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
13,
|
|
10,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
14,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
0,
|
|
14,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
1,
|
|
11,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
13,
|
|
2,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
13,
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
12,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"ceqw",
|
|
792,
|
|
47
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
792,
|
|
47
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
1,
|
|
792,
|
|
63
|
|
],
|
|
[
|
|
"put",
|
|
6,
|
|
35,
|
|
1,
|
|
792,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
8,
|
|
10,
|
|
1,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
8,
|
|
4,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
1,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
2,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
3,
|
|
3,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
4,
|
|
4,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
9,
|
|
7,
|
|
792,
|
|
73
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
792,
|
|
73
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"cnew",
|
|
793,
|
|
47
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
793,
|
|
47
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
1,
|
|
793,
|
|
63
|
|
],
|
|
[
|
|
"put",
|
|
6,
|
|
35,
|
|
1,
|
|
793,
|
|
63
|
|
],
|
|
[
|
|
"get",
|
|
8,
|
|
10,
|
|
1,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
8,
|
|
4,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
1,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
2,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
3,
|
|
3,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
4,
|
|
4,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
9,
|
|
7,
|
|
793,
|
|
73
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
793,
|
|
73
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"csltw",
|
|
794,
|
|
47
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
794,
|
|
47
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
0,
|
|
794,
|
|
64
|
|
],
|
|
[
|
|
"put",
|
|
6,
|
|
35,
|
|
1,
|
|
794,
|
|
64
|
|
],
|
|
[
|
|
"get",
|
|
8,
|
|
10,
|
|
1,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
8,
|
|
4,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
1,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
2,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
3,
|
|
3,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
4,
|
|
4,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
9,
|
|
7,
|
|
794,
|
|
74
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
794,
|
|
74
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"cslew",
|
|
795,
|
|
47
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
795,
|
|
47
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
0,
|
|
795,
|
|
64
|
|
],
|
|
[
|
|
"put",
|
|
6,
|
|
35,
|
|
1,
|
|
795,
|
|
64
|
|
],
|
|
[
|
|
"get",
|
|
8,
|
|
10,
|
|
1,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
8,
|
|
4,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
1,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
2,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
3,
|
|
3,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
4,
|
|
4,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
9,
|
|
7,
|
|
795,
|
|
74
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
795,
|
|
74
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"csgtw",
|
|
796,
|
|
47
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
796,
|
|
47
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
0,
|
|
796,
|
|
64
|
|
],
|
|
[
|
|
"put",
|
|
6,
|
|
35,
|
|
1,
|
|
796,
|
|
64
|
|
],
|
|
[
|
|
"get",
|
|
8,
|
|
10,
|
|
1,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
8,
|
|
4,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
1,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
2,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
3,
|
|
3,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
4,
|
|
4,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
9,
|
|
7,
|
|
796,
|
|
74
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
796,
|
|
74
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
5,
|
|
"csgew",
|
|
797,
|
|
47
|
|
],
|
|
[
|
|
"put",
|
|
5,
|
|
50,
|
|
1,
|
|
797,
|
|
47
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
0,
|
|
797,
|
|
64
|
|
],
|
|
[
|
|
"put",
|
|
6,
|
|
35,
|
|
1,
|
|
797,
|
|
64
|
|
],
|
|
[
|
|
"get",
|
|
8,
|
|
10,
|
|
1,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"frame",
|
|
9,
|
|
8,
|
|
4,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"null",
|
|
10,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
0,
|
|
10,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
1,
|
|
1,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
2,
|
|
2,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
3,
|
|
3,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"setarg",
|
|
9,
|
|
4,
|
|
4,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"tail_invoke",
|
|
9,
|
|
7,
|
|
797,
|
|
74
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
797,
|
|
74
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
" %{0}.cr =w ceql {1}, {2}\n %{3}.crext =l extuw %{4}.cr\n %{5}.sh =l shl %{6}.crext, 5\n %{7} =l or %{8}.sh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
" %{0}.cr =w cnel {1}, {2}\n %{3}.crext =l extuw %{4}.cr\n %{5}.sh =l shl %{6}.crext, 5\n %{7} =l or %{8}.sh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
[
|
|
"array",
|
|
4,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
3,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"push",
|
|
4,
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"access",
|
|
6,
|
|
" %{0}.cr =w ceql {1}, {2}\n %{3}.crext =l extuw %{4}.cr\n %{5}.sh =l shl %{6}.crext, 5\n %{7} =l or %{8}.sh, 3\n",
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"frame",
|
|
8,
|
|
5,
|
|
2,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"null",
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
1,
|
|
6,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"setarg",
|
|
8,
|
|
2,
|
|
4,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"invoke",
|
|
8,
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
[
|
|
"return",
|
|
7,
|
|
1,
|
|
1
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
}
|
|
],
|
|
"main": {
|
|
"nr_args": 0,
|
|
"nr_close_slots": 0,
|
|
"nr_slots": 147,
|
|
"instructions": [
|
|
[
|
|
"access",
|
|
11,
|
|
7,
|
|
10,
|
|
15
|
|
],
|
|
[
|
|
"access",
|
|
47,
|
|
3,
|
|
11,
|
|
16
|
|
],
|
|
[
|
|
"access",
|
|
66,
|
|
35,
|
|
12,
|
|
15
|
|
],
|
|
[
|
|
"access",
|
|
49,
|
|
15,
|
|
13,
|
|
20
|
|
],
|
|
[
|
|
"access",
|
|
44,
|
|
27,
|
|
14,
|
|
21
|
|
],
|
|
[
|
|
"null",
|
|
50,
|
|
17,
|
|
12
|
|
],
|
|
[
|
|
"null",
|
|
35,
|
|
18,
|
|
13
|
|
],
|
|
[
|
|
"null",
|
|
24,
|
|
19,
|
|
15
|
|
],
|
|
[
|
|
"access",
|
|
36,
|
|
-2147483648,
|
|
21,
|
|
17
|
|
],
|
|
[
|
|
"access",
|
|
1,
|
|
2147483647,
|
|
22,
|
|
17
|
|
],
|
|
[
|
|
"access",
|
|
16,
|
|
4503599627370495,
|
|
23,
|
|
21
|
|
],
|
|
[
|
|
"function",
|
|
78,
|
|
0,
|
|
29,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
76,
|
|
78,
|
|
29,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
79,
|
|
1,
|
|
35,
|
|
17
|
|
],
|
|
[
|
|
"move",
|
|
32,
|
|
79,
|
|
35,
|
|
17
|
|
],
|
|
[
|
|
"function",
|
|
80,
|
|
2,
|
|
44,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
60,
|
|
80,
|
|
44,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
81,
|
|
3,
|
|
50,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
37,
|
|
81,
|
|
50,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
82,
|
|
4,
|
|
56,
|
|
20
|
|
],
|
|
[
|
|
"move",
|
|
54,
|
|
82,
|
|
56,
|
|
20
|
|
],
|
|
[
|
|
"function",
|
|
83,
|
|
5,
|
|
62,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
26,
|
|
83,
|
|
62,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
84,
|
|
6,
|
|
68,
|
|
19
|
|
],
|
|
[
|
|
"move",
|
|
2,
|
|
84,
|
|
68,
|
|
19
|
|
],
|
|
[
|
|
"function",
|
|
85,
|
|
7,
|
|
74,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
15,
|
|
85,
|
|
74,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
86,
|
|
8,
|
|
110,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
12,
|
|
86,
|
|
110,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
87,
|
|
9,
|
|
117,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
72,
|
|
87,
|
|
117,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
88,
|
|
10,
|
|
124,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
14,
|
|
88,
|
|
124,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
89,
|
|
11,
|
|
131,
|
|
19
|
|
],
|
|
[
|
|
"move",
|
|
57,
|
|
89,
|
|
131,
|
|
19
|
|
],
|
|
[
|
|
"function",
|
|
90,
|
|
12,
|
|
149,
|
|
18
|
|
],
|
|
[
|
|
"move",
|
|
75,
|
|
90,
|
|
149,
|
|
18
|
|
],
|
|
[
|
|
"function",
|
|
91,
|
|
13,
|
|
186,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
45,
|
|
91,
|
|
186,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
92,
|
|
14,
|
|
193,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
67,
|
|
92,
|
|
193,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
93,
|
|
15,
|
|
201,
|
|
19
|
|
],
|
|
[
|
|
"move",
|
|
17,
|
|
93,
|
|
201,
|
|
19
|
|
],
|
|
[
|
|
"function",
|
|
94,
|
|
16,
|
|
212,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
42,
|
|
94,
|
|
212,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
95,
|
|
17,
|
|
254,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
5,
|
|
95,
|
|
254,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
96,
|
|
18,
|
|
288,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
3,
|
|
96,
|
|
288,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
97,
|
|
19,
|
|
322,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
56,
|
|
97,
|
|
322,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
98,
|
|
20,
|
|
366,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
4,
|
|
98,
|
|
366,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
99,
|
|
21,
|
|
407,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
33,
|
|
99,
|
|
407,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
100,
|
|
22,
|
|
494,
|
|
10
|
|
],
|
|
[
|
|
"move",
|
|
71,
|
|
100,
|
|
494,
|
|
10
|
|
],
|
|
[
|
|
"function",
|
|
101,
|
|
23,
|
|
499,
|
|
10
|
|
],
|
|
[
|
|
"move",
|
|
68,
|
|
101,
|
|
499,
|
|
10
|
|
],
|
|
[
|
|
"function",
|
|
102,
|
|
24,
|
|
504,
|
|
10
|
|
],
|
|
[
|
|
"move",
|
|
51,
|
|
102,
|
|
504,
|
|
10
|
|
],
|
|
[
|
|
"function",
|
|
103,
|
|
25,
|
|
509,
|
|
10
|
|
],
|
|
[
|
|
"move",
|
|
43,
|
|
103,
|
|
509,
|
|
10
|
|
],
|
|
[
|
|
"function",
|
|
104,
|
|
26,
|
|
514,
|
|
10
|
|
],
|
|
[
|
|
"move",
|
|
69,
|
|
104,
|
|
514,
|
|
10
|
|
],
|
|
[
|
|
"function",
|
|
105,
|
|
27,
|
|
519,
|
|
10
|
|
],
|
|
[
|
|
"move",
|
|
70,
|
|
105,
|
|
519,
|
|
10
|
|
],
|
|
[
|
|
"function",
|
|
106,
|
|
28,
|
|
528,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
58,
|
|
106,
|
|
528,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
107,
|
|
29,
|
|
555,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
27,
|
|
107,
|
|
555,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
108,
|
|
30,
|
|
582,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
29,
|
|
108,
|
|
582,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
109,
|
|
31,
|
|
609,
|
|
12
|
|
],
|
|
[
|
|
"move",
|
|
38,
|
|
109,
|
|
609,
|
|
12
|
|
],
|
|
[
|
|
"function",
|
|
110,
|
|
32,
|
|
619,
|
|
12
|
|
],
|
|
[
|
|
"move",
|
|
61,
|
|
110,
|
|
619,
|
|
12
|
|
],
|
|
[
|
|
"function",
|
|
111,
|
|
33,
|
|
643,
|
|
18
|
|
],
|
|
[
|
|
"move",
|
|
6,
|
|
111,
|
|
643,
|
|
18
|
|
],
|
|
[
|
|
"function",
|
|
112,
|
|
34,
|
|
670,
|
|
12
|
|
],
|
|
[
|
|
"move",
|
|
31,
|
|
112,
|
|
670,
|
|
12
|
|
],
|
|
[
|
|
"function",
|
|
113,
|
|
35,
|
|
675,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
63,
|
|
113,
|
|
675,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
114,
|
|
36,
|
|
680,
|
|
12
|
|
],
|
|
[
|
|
"move",
|
|
53,
|
|
114,
|
|
680,
|
|
12
|
|
],
|
|
[
|
|
"function",
|
|
115,
|
|
37,
|
|
687,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
39,
|
|
115,
|
|
687,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
116,
|
|
38,
|
|
715,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
59,
|
|
116,
|
|
715,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
117,
|
|
39,
|
|
720,
|
|
11
|
|
],
|
|
[
|
|
"move",
|
|
73,
|
|
117,
|
|
720,
|
|
11
|
|
],
|
|
[
|
|
"function",
|
|
118,
|
|
40,
|
|
725,
|
|
12
|
|
],
|
|
[
|
|
"move",
|
|
7,
|
|
118,
|
|
725,
|
|
12
|
|
],
|
|
[
|
|
"function",
|
|
119,
|
|
41,
|
|
736,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
8,
|
|
119,
|
|
736,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
120,
|
|
42,
|
|
742,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
20,
|
|
120,
|
|
742,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
121,
|
|
43,
|
|
754,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
25,
|
|
121,
|
|
754,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
122,
|
|
44,
|
|
755,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
19,
|
|
122,
|
|
755,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
123,
|
|
45,
|
|
756,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
23,
|
|
123,
|
|
756,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
124,
|
|
46,
|
|
757,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
28,
|
|
124,
|
|
757,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
125,
|
|
47,
|
|
758,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
74,
|
|
125,
|
|
758,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
126,
|
|
48,
|
|
759,
|
|
14
|
|
],
|
|
[
|
|
"move",
|
|
9,
|
|
126,
|
|
759,
|
|
14
|
|
],
|
|
[
|
|
"function",
|
|
127,
|
|
49,
|
|
763,
|
|
17
|
|
],
|
|
[
|
|
"move",
|
|
30,
|
|
127,
|
|
763,
|
|
17
|
|
],
|
|
[
|
|
"function",
|
|
128,
|
|
50,
|
|
772,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
77,
|
|
128,
|
|
772,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
129,
|
|
51,
|
|
773,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
40,
|
|
129,
|
|
773,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
130,
|
|
52,
|
|
774,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
41,
|
|
130,
|
|
774,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
131,
|
|
53,
|
|
775,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
64,
|
|
131,
|
|
775,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
132,
|
|
54,
|
|
776,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
46,
|
|
132,
|
|
776,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
133,
|
|
55,
|
|
777,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
52,
|
|
133,
|
|
777,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
134,
|
|
56,
|
|
781,
|
|
16
|
|
],
|
|
[
|
|
"move",
|
|
10,
|
|
134,
|
|
781,
|
|
16
|
|
],
|
|
[
|
|
"function",
|
|
135,
|
|
57,
|
|
792,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
21,
|
|
135,
|
|
792,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
136,
|
|
58,
|
|
793,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
34,
|
|
136,
|
|
793,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
137,
|
|
59,
|
|
794,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
22,
|
|
137,
|
|
794,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
138,
|
|
60,
|
|
795,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
18,
|
|
138,
|
|
795,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
139,
|
|
61,
|
|
796,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
48,
|
|
139,
|
|
796,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
140,
|
|
62,
|
|
797,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
13,
|
|
140,
|
|
797,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
141,
|
|
63,
|
|
800,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
62,
|
|
141,
|
|
800,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
142,
|
|
64,
|
|
808,
|
|
15
|
|
],
|
|
[
|
|
"move",
|
|
55,
|
|
142,
|
|
808,
|
|
15
|
|
],
|
|
[
|
|
"function",
|
|
143,
|
|
65,
|
|
817,
|
|
20
|
|
],
|
|
[
|
|
"move",
|
|
65,
|
|
143,
|
|
817,
|
|
20
|
|
],
|
|
[
|
|
"record",
|
|
144,
|
|
0
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
11,
|
|
"js_null",
|
|
831,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
47,
|
|
"js_false",
|
|
832,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
66,
|
|
"js_true",
|
|
833,
|
|
12
|
|
],
|
|
[
|
|
"access",
|
|
145,
|
|
15,
|
|
834,
|
|
17
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
145,
|
|
"js_exception",
|
|
834,
|
|
17
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
44,
|
|
"js_empty_text",
|
|
835,
|
|
18
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
76,
|
|
"is_int",
|
|
837,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
32,
|
|
"is_number",
|
|
838,
|
|
14
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
60,
|
|
"is_null",
|
|
839,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
37,
|
|
"is_bool",
|
|
840,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
54,
|
|
"is_exception",
|
|
841,
|
|
17
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
26,
|
|
"is_ptr",
|
|
842,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
2,
|
|
"is_imm_text",
|
|
843,
|
|
16
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
15,
|
|
"is_text",
|
|
844,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
12,
|
|
"get_int",
|
|
846,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
72,
|
|
"get_bool",
|
|
847,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
14,
|
|
"get_ptr",
|
|
848,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
57,
|
|
"get_float64",
|
|
849,
|
|
16
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
75,
|
|
"to_float64",
|
|
850,
|
|
15
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
45,
|
|
"new_int",
|
|
852,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
67,
|
|
"new_bool",
|
|
853,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
17,
|
|
"new_float64",
|
|
854,
|
|
16
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
42,
|
|
"add",
|
|
856,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
5,
|
|
"sub",
|
|
857,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
3,
|
|
"mul",
|
|
858,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
56,
|
|
"div",
|
|
859,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
4,
|
|
"mod",
|
|
860,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
71,
|
|
"eq",
|
|
862,
|
|
7
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
68,
|
|
"ne",
|
|
863,
|
|
7
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
51,
|
|
"lt",
|
|
864,
|
|
7
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
43,
|
|
"le",
|
|
865,
|
|
7
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
69,
|
|
"gt",
|
|
866,
|
|
7
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
70,
|
|
"ge",
|
|
867,
|
|
7
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
58,
|
|
"neg",
|
|
869,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
27,
|
|
"inc",
|
|
870,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
29,
|
|
"dec",
|
|
871,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
38,
|
|
"lnot",
|
|
872,
|
|
9
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
61,
|
|
"bnot",
|
|
873,
|
|
9
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
31,
|
|
"band",
|
|
875,
|
|
9
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
63,
|
|
"bor",
|
|
876,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
53,
|
|
"bxor",
|
|
877,
|
|
9
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
59,
|
|
"shl",
|
|
878,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
73,
|
|
"shr",
|
|
879,
|
|
8
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
7,
|
|
"ushr",
|
|
880,
|
|
9
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
8,
|
|
"concat",
|
|
882,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
25,
|
|
"eq_int",
|
|
884,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
19,
|
|
"ne_int",
|
|
885,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
23,
|
|
"lt_int",
|
|
886,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
28,
|
|
"le_int",
|
|
887,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
74,
|
|
"gt_int",
|
|
888,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
9,
|
|
"ge_int",
|
|
889,
|
|
11
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
77,
|
|
"eq_float",
|
|
891,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
40,
|
|
"ne_float",
|
|
892,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
41,
|
|
"lt_float",
|
|
893,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
64,
|
|
"le_float",
|
|
894,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
46,
|
|
"gt_float",
|
|
895,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
52,
|
|
"ge_float",
|
|
896,
|
|
13
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
21,
|
|
"eq_text",
|
|
898,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
34,
|
|
"ne_text",
|
|
899,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
22,
|
|
"lt_text",
|
|
900,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
18,
|
|
"le_text",
|
|
901,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
48,
|
|
"gt_text",
|
|
902,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
13,
|
|
"ge_text",
|
|
903,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
62,
|
|
"eq_bool",
|
|
905,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
55,
|
|
"ne_bool",
|
|
906,
|
|
12
|
|
],
|
|
[
|
|
"store_field",
|
|
144,
|
|
65,
|
|
"is_identical",
|
|
908,
|
|
17
|
|
],
|
|
[
|
|
"return",
|
|
144,
|
|
908,
|
|
17
|
|
],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
]
|
|
},
|
|
"filename": "qbe.cm",
|
|
"data": {}
|
|
} |