3859 lines
122 KiB
Plaintext
3859 lines
122 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, 4, 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, 4, 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, 14, 1, 1, 1],
|
|
["get", 6, 18, 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, 14, 1, 1, 1],
|
|
["get", 6, 18, 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, 14, 1, 1, 1],
|
|
["get", 6, 18, 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, 13, 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, 13, 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, 29, 1, 408, 20],
|
|
["load_field", 11, 10, "int_cmp_op", 408, 20],
|
|
["move", 8, 11, 408, 20],
|
|
["get", 12, 29, 1, 409, 25],
|
|
["load_field", 13, 12, "float_id", 409, 25],
|
|
["move", 7, 13, 409, 25],
|
|
["access", 9, 0, 410, 17],
|
|
["get", 14, 53, 1, 411, 22],
|
|
["move", 5, 14, 411, 22],
|
|
["get", 15, 53, 1, 412, 18],
|
|
["move", 6, 15, 412, 18],
|
|
["get", 16, 29, 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, 29, 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, 29, 1, 416, 7],
|
|
["load_field", 23, 22, "is_ne", 416, 7],
|
|
["jump_false", 23, "if_else_3", 416, 7],
|
|
["get", 24, 73, 1, 417, 20],
|
|
["move", 5, 24, 417, 20],
|
|
["jump", "if_end_4", 417, 20],
|
|
"if_else_3",
|
|
"if_end_4",
|
|
["get", 25, 29, 1, 419, 7],
|
|
["load_field", 26, 25, "null_true", 419, 7],
|
|
["jump_false", 26, "if_else_5", 419, 7],
|
|
["get", 27, 73, 1, 420, 16],
|
|
["move", 6, 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, 6, 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, 7, 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, 5, 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, 29, 1, 495, 85],
|
|
["get", 12, 39, 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, 29, 1, 500, 85],
|
|
["get", 12, 39, 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, 29, 1, 505, 87],
|
|
["get", 12, 39, 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, 29, 1, 510, 87],
|
|
["get", 12, 39, 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, 29, 1, 515, 87],
|
|
["get", 12, 39, 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, 29, 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, 14, 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, 18, 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, 14, 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, 57, 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, 57, 1, 671, 10],
|
|
["get", 7, 7, 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, 57, 1, 676, 10],
|
|
["get", 7, 7, 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, 57, 1, 681, 10],
|
|
["get", 7, 7, 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, 57, 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, 57, 1, 716, 10],
|
|
["get", 7, 44, 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, 57, 1, 721, 10],
|
|
["get", 7, 44, 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, 57, 1, 726, 10],
|
|
["get", 7, 44, 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": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["get", 5, 14, 1, 1, 1],
|
|
["get", 6, 18, 1, 1, 1],
|
|
["array", 7, 0, 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],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 9, " %{0}.ia =l sar {1}, 1\n %{2}.ib =l sar {3}, 1\n %{4}.sum =l add %{5}.ia, %{6}.ib\n %{7}.lo =w csltl %{8}.sum, {9}\n %{10}.hi =w csgtl %{11}.sum, {12}\n %{13}.ov =w or %{14}.lo, %{15}.hi\n jnz %{16}.ov, @{17}.ov, @{18}.ok\n@{19}.ok\n %{20}.rw =w copy %{21}.sum\n %{22}.rext =l extuw %{23}.rw\n %{24} =l shl %{25}.rext, 1\n jmp @{26}.done\n@{27}.ov\n %{28}.fd =d sltof %{29}.sum\n %{30} =l call $__JS_NewFloat64(l {31}, d %{32}.fd)\n@{33}.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, 14, 1, 1, 1],
|
|
["get", 6, 18, 1, 1, 1],
|
|
["array", 7, 0, 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],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 9, " %{0}.ia =l sar {1}, 1\n %{2}.ib =l sar {3}, 1\n %{4}.diff =l sub %{5}.ia, %{6}.ib\n %{7}.lo =w csltl %{8}.diff, {9}\n %{10}.hi =w csgtl %{11}.diff, {12}\n %{13}.ov =w or %{14}.lo, %{15}.hi\n jnz %{16}.ov, @{17}.ov, @{18}.ok\n@{19}.ok\n %{20}.rw =w copy %{21}.diff\n %{22}.rext =l extuw %{23}.rw\n %{24} =l shl %{25}.rext, 1\n jmp @{26}.done\n@{27}.ov\n %{28}.fd =d sltof %{29}.diff\n %{30} =l call $__JS_NewFloat64(l {31}, d %{32}.fd)\n@{33}.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, 14, 1, 1, 1],
|
|
["get", 6, 18, 1, 1, 1],
|
|
["array", 7, 0, 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],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 9, " %{0}.ia =l sar {1}, 1\n %{2}.ib =l sar {3}, 1\n %{4}.prod =l mul %{5}.ia, %{6}.ib\n %{7}.lo =w csltl %{8}.prod, {9}\n %{10}.hi =w csgtl %{11}.prod, {12}\n %{13}.ov =w or %{14}.lo, %{15}.hi\n jnz %{16}.ov, @{17}.ov, @{18}.ok\n@{19}.ok\n %{20}.rw =w copy %{21}.prod\n %{22}.rext =l extuw %{23}.rw\n %{24} =l shl %{25}.rext, 1\n jmp @{26}.done\n@{27}.ov\n %{28}.fd =d sltof %{29}.prod\n %{30} =l call $__JS_NewFloat64(l {31}, d %{32}.fd)\n@{33}.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, 13, 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, 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],
|
|
[
|
|
"access",
|
|
7,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 8, " %{0}.ia =w copy 0\n %{1}.tmp =l sar {2}, 1\n %{3}.ia =w copy %{4}.tmp\n %{5}.ib =w copy 0\n %{6}.tmp2 =l sar {7}, 1\n %{8}.ib =w copy %{9}.tmp2\n %{10}.div0 =w ceqw %{11}.ib, 0\n jnz %{12}.div0, @{13}.null, @{14}.chk\n@{15}.null\n %{16} =l copy {17}\n jmp @{18}.done\n@{19}.chk\n %{20}.rem =w rem %{21}.ia, %{22}.ib\n %{23}.exact =w ceqw %{24}.rem, 0\n jnz %{25}.exact, @{26}.idiv, @{27}.fdiv\n@{28}.idiv\n %{29}.q =w div %{30}.ia, %{31}.ib\n %{32}.qext =l extuw %{33}.q\n %{34} =l shl %{35}.qext, 1\n jmp @{36}.done\n@{37}.fdiv\n %{38}.da =d swtof %{39}.ia\n %{40}.db =d swtof %{41}.ib\n %{42}.dr =d div %{43}.da, %{44}.db\n %{45} =l call $__JS_NewFloat64(l {46}, d %{47}.dr)\n@{48}.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, 13, 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, 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],
|
|
[
|
|
"access",
|
|
7,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 8, " %{0}.ia =w copy 0\n %{1}.tmp =l sar {2}, 1\n %{3}.ia =w copy %{4}.tmp\n %{5}.ib =w copy 0\n %{6}.tmp2 =l sar {7}, 1\n %{8}.ib =w copy %{9}.tmp2\n %{10}.div0 =w ceqw %{11}.ib, 0\n jnz %{12}.div0, @{13}.null, @{14}.do_mod\n@{15}.null\n %{16} =l copy {17}\n jmp @{18}.done\n@{19}.do_mod\n %{20}.r =w rem %{21}.ia, %{22}.ib\n %{23}.rext =l extuw %{24}.r\n %{25} =l shl %{26}.rext, 1\n@{27}.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": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["get", 4, 14, 1, 1, 1],
|
|
["array", 5, 0, 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],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 7, " %{0}.sl =l sar {1}, 1\n %{2}.iw =w copy %{3}.sl\n %{4}.is_min =w ceqw %{5}.iw, {6}\n jnz %{7}.is_min, @{8}.ov, @{9}.ok\n@{10}.ov\n %{11}.fd =d swtof %{12}.iw\n %{13}.fdn =d neg %{14}.fd\n %{15} =l call $__JS_NewFloat64(l {16}, d %{17}.fdn)\n jmp @{18}.done\n@{19}.ok\n %{20}.ni =w sub 0, %{21}.iw\n %{22}.niext =l extuw %{23}.ni\n %{24} =l shl %{25}.niext, 1\n@{26}.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": [
|
|
["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 $qbe_float_add(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, 3, 1, 1],
|
|
["push", 5, 4, 1, 1],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 7, " %{0} =l call $qbe_float_sub(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, 3, 1, 1],
|
|
["push", 5, 4, 1, 1],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 7, " %{0} =l call $qbe_float_mul(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, 3, 1, 1],
|
|
["push", 5, 4, 1, 1],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 7, " %{0} =l call $qbe_float_div(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, 3, 1, 1],
|
|
["push", 5, 4, 1, 1],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 7, " %{0} =l call $qbe_float_mod(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": 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 $qbe_float_neg(l {1}, l {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": 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", 915, 63],
|
|
["get", 7, 25, 1, 915, 46],
|
|
["frame", 8, 7, 4, 915, 46],
|
|
["null", 9, 915, 46],
|
|
["setarg", 8, 0, 9, 915, 46],
|
|
["setarg", 8, 1, 1, 915, 46],
|
|
["setarg", 8, 2, 3, 915, 46],
|
|
["setarg", 8, 3, 4, 915, 46],
|
|
["setarg", 8, 4, 5, 915, 46],
|
|
["tail_invoke", 8, 6, 915, 46],
|
|
["return", 6, 915, 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", 916, 63],
|
|
["get", 7, 25, 1, 916, 46],
|
|
["frame", 8, 7, 4, 916, 46],
|
|
["null", 9, 916, 46],
|
|
["setarg", 8, 0, 9, 916, 46],
|
|
["setarg", 8, 1, 1, 916, 46],
|
|
["setarg", 8, 2, 3, 916, 46],
|
|
["setarg", 8, 3, 4, 916, 46],
|
|
["setarg", 8, 4, 5, 916, 46],
|
|
["tail_invoke", 8, 6, 916, 46],
|
|
["return", 6, 916, 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", 917, 63],
|
|
["get", 7, 25, 1, 917, 46],
|
|
["frame", 8, 7, 4, 917, 46],
|
|
["null", 9, 917, 46],
|
|
["setarg", 8, 0, 9, 917, 46],
|
|
["setarg", 8, 1, 1, 917, 46],
|
|
["setarg", 8, 2, 3, 917, 46],
|
|
["setarg", 8, 3, 4, 917, 46],
|
|
["setarg", 8, 4, 5, 917, 46],
|
|
["tail_invoke", 8, 6, 917, 46],
|
|
["return", 6, 917, 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", 918, 63],
|
|
["get", 7, 25, 1, 918, 46],
|
|
["frame", 8, 7, 4, 918, 46],
|
|
["null", 9, 918, 46],
|
|
["setarg", 8, 0, 9, 918, 46],
|
|
["setarg", 8, 1, 1, 918, 46],
|
|
["setarg", 8, 2, 3, 918, 46],
|
|
["setarg", 8, 3, 4, 918, 46],
|
|
["setarg", 8, 4, 5, 918, 46],
|
|
["tail_invoke", 8, 6, 918, 46],
|
|
["return", 6, 918, 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", 919, 63],
|
|
["get", 7, 25, 1, 919, 46],
|
|
["frame", 8, 7, 4, 919, 46],
|
|
["null", 9, 919, 46],
|
|
["setarg", 8, 0, 9, 919, 46],
|
|
["setarg", 8, 1, 1, 919, 46],
|
|
["setarg", 8, 2, 3, 919, 46],
|
|
["setarg", 8, 3, 4, 919, 46],
|
|
["setarg", 8, 4, 5, 919, 46],
|
|
["tail_invoke", 8, 6, 919, 46],
|
|
["return", 6, 919, 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", 920, 63],
|
|
["get", 7, 25, 1, 920, 46],
|
|
["frame", 8, 7, 4, 920, 46],
|
|
["null", 9, 920, 46],
|
|
["setarg", 8, 0, 9, 920, 46],
|
|
["setarg", 8, 1, 1, 920, 46],
|
|
["setarg", 8, 2, 3, 920, 46],
|
|
["setarg", 8, 3, 4, 920, 46],
|
|
["setarg", 8, 4, 5, 920, 46],
|
|
["tail_invoke", 8, 6, 920, 46],
|
|
["return", 6, 920, 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, 57, 1, 925, 15],
|
|
["move", 5, 6, 925, 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, 933, 48],
|
|
["put", 5, 57, 1, 933, 48],
|
|
["get", 7, 87, 1, 933, 58],
|
|
["frame", 8, 7, 4, 933, 58],
|
|
["null", 9, 933, 58],
|
|
["setarg", 8, 0, 9, 933, 58],
|
|
["setarg", 8, 1, 1, 933, 58],
|
|
["setarg", 8, 2, 2, 933, 58],
|
|
["setarg", 8, 3, 3, 933, 58],
|
|
["setarg", 8, 4, 4, 933, 58],
|
|
["tail_invoke", 8, 6, 933, 58],
|
|
["return", 6, 933, 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, 934, 48],
|
|
["put", 5, 57, 1, 934, 48],
|
|
["get", 7, 87, 1, 934, 58],
|
|
["frame", 8, 7, 4, 934, 58],
|
|
["null", 9, 934, 58],
|
|
["setarg", 8, 0, 9, 934, 58],
|
|
["setarg", 8, 1, 1, 934, 58],
|
|
["setarg", 8, 2, 2, 934, 58],
|
|
["setarg", 8, 3, 3, 934, 58],
|
|
["setarg", 8, 4, 4, 934, 58],
|
|
["tail_invoke", 8, 6, 934, 58],
|
|
["return", 6, 934, 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, 935, 48],
|
|
["put", 5, 57, 1, 935, 48],
|
|
["get", 7, 87, 1, 935, 58],
|
|
["frame", 8, 7, 4, 935, 58],
|
|
["null", 9, 935, 58],
|
|
["setarg", 8, 0, 9, 935, 58],
|
|
["setarg", 8, 1, 1, 935, 58],
|
|
["setarg", 8, 2, 2, 935, 58],
|
|
["setarg", 8, 3, 3, 935, 58],
|
|
["setarg", 8, 4, 4, 935, 58],
|
|
["tail_invoke", 8, 6, 935, 58],
|
|
["return", 6, 935, 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, 936, 48],
|
|
["put", 5, 57, 1, 936, 48],
|
|
["get", 7, 87, 1, 936, 58],
|
|
["frame", 8, 7, 4, 936, 58],
|
|
["null", 9, 936, 58],
|
|
["setarg", 8, 0, 9, 936, 58],
|
|
["setarg", 8, 1, 1, 936, 58],
|
|
["setarg", 8, 2, 2, 936, 58],
|
|
["setarg", 8, 3, 3, 936, 58],
|
|
["setarg", 8, 4, 4, 936, 58],
|
|
["tail_invoke", 8, 6, 936, 58],
|
|
["return", 6, 936, 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, 937, 48],
|
|
["put", 5, 57, 1, 937, 48],
|
|
["get", 7, 87, 1, 937, 58],
|
|
["frame", 8, 7, 4, 937, 58],
|
|
["null", 9, 937, 58],
|
|
["setarg", 8, 0, 9, 937, 58],
|
|
["setarg", 8, 1, 1, 937, 58],
|
|
["setarg", 8, 2, 2, 937, 58],
|
|
["setarg", 8, 3, 3, 937, 58],
|
|
["setarg", 8, 4, 4, 937, 58],
|
|
["tail_invoke", 8, 6, 937, 58],
|
|
["return", 6, 937, 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, 938, 48],
|
|
["put", 5, 57, 1, 938, 48],
|
|
["get", 7, 87, 1, 938, 58],
|
|
["frame", 8, 7, 4, 938, 58],
|
|
["null", 9, 938, 58],
|
|
["setarg", 8, 0, 9, 938, 58],
|
|
["setarg", 8, 1, 1, 938, 58],
|
|
["setarg", 8, 2, 2, 938, 58],
|
|
["setarg", 8, 3, 3, 938, 58],
|
|
["setarg", 8, 4, 4, 938, 58],
|
|
["tail_invoke", 8, 6, 938, 58],
|
|
["return", 6, 938, 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, 57, 1, 943, 16],
|
|
["move", 5, 7, 943, 16],
|
|
["get", 8, 41, 1, 944, 17],
|
|
["move", 6, 8, 944, 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", 953, 47],
|
|
["put", 5, 57, 1, 953, 47],
|
|
["access", 6, 1, 953, 63],
|
|
["put", 6, 41, 1, 953, 63],
|
|
["get", 8, 12, 1, 953, 73],
|
|
["frame", 9, 8, 4, 953, 73],
|
|
["null", 10, 953, 73],
|
|
["setarg", 9, 0, 10, 953, 73],
|
|
["setarg", 9, 1, 1, 953, 73],
|
|
["setarg", 9, 2, 2, 953, 73],
|
|
["setarg", 9, 3, 3, 953, 73],
|
|
["setarg", 9, 4, 4, 953, 73],
|
|
["tail_invoke", 9, 7, 953, 73],
|
|
["return", 7, 953, 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", 954, 47],
|
|
["put", 5, 57, 1, 954, 47],
|
|
["access", 6, 1, 954, 63],
|
|
["put", 6, 41, 1, 954, 63],
|
|
["get", 8, 12, 1, 954, 73],
|
|
["frame", 9, 8, 4, 954, 73],
|
|
["null", 10, 954, 73],
|
|
["setarg", 9, 0, 10, 954, 73],
|
|
["setarg", 9, 1, 1, 954, 73],
|
|
["setarg", 9, 2, 2, 954, 73],
|
|
["setarg", 9, 3, 3, 954, 73],
|
|
["setarg", 9, 4, 4, 954, 73],
|
|
["tail_invoke", 9, 7, 954, 73],
|
|
["return", 7, 954, 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", 955, 47],
|
|
["put", 5, 57, 1, 955, 47],
|
|
["access", 6, 0, 955, 64],
|
|
["put", 6, 41, 1, 955, 64],
|
|
["get", 8, 12, 1, 955, 74],
|
|
["frame", 9, 8, 4, 955, 74],
|
|
["null", 10, 955, 74],
|
|
["setarg", 9, 0, 10, 955, 74],
|
|
["setarg", 9, 1, 1, 955, 74],
|
|
["setarg", 9, 2, 2, 955, 74],
|
|
["setarg", 9, 3, 3, 955, 74],
|
|
["setarg", 9, 4, 4, 955, 74],
|
|
["tail_invoke", 9, 7, 955, 74],
|
|
["return", 7, 955, 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", 956, 47],
|
|
["put", 5, 57, 1, 956, 47],
|
|
["access", 6, 0, 956, 64],
|
|
["put", 6, 41, 1, 956, 64],
|
|
["get", 8, 12, 1, 956, 74],
|
|
["frame", 9, 8, 4, 956, 74],
|
|
["null", 10, 956, 74],
|
|
["setarg", 9, 0, 10, 956, 74],
|
|
["setarg", 9, 1, 1, 956, 74],
|
|
["setarg", 9, 2, 2, 956, 74],
|
|
["setarg", 9, 3, 3, 956, 74],
|
|
["setarg", 9, 4, 4, 956, 74],
|
|
["tail_invoke", 9, 7, 956, 74],
|
|
["return", 7, 956, 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", 957, 47],
|
|
["put", 5, 57, 1, 957, 47],
|
|
["access", 6, 0, 957, 64],
|
|
["put", 6, 41, 1, 957, 64],
|
|
["get", 8, 12, 1, 957, 74],
|
|
["frame", 9, 8, 4, 957, 74],
|
|
["null", 10, 957, 74],
|
|
["setarg", 9, 0, 10, 957, 74],
|
|
["setarg", 9, 1, 1, 957, 74],
|
|
["setarg", 9, 2, 2, 957, 74],
|
|
["setarg", 9, 3, 3, 957, 74],
|
|
["setarg", 9, 4, 4, 957, 74],
|
|
["tail_invoke", 9, 7, 957, 74],
|
|
["return", 7, 957, 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", 958, 47],
|
|
["put", 5, 57, 1, 958, 47],
|
|
["access", 6, 0, 958, 64],
|
|
["put", 6, 41, 1, 958, 64],
|
|
["get", 8, 12, 1, 958, 74],
|
|
["frame", 9, 8, 4, 958, 74],
|
|
["null", 10, 958, 74],
|
|
["setarg", 9, 0, 10, 958, 74],
|
|
["setarg", 9, 1, 1, 958, 74],
|
|
["setarg", 9, 2, 2, 958, 74],
|
|
["setarg", 9, 3, 3, 958, 74],
|
|
["setarg", 9, 4, 4, 958, 74],
|
|
["tail_invoke", 9, 7, 958, 74],
|
|
["return", 7, 958, 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": 172,
|
|
"instructions": [
|
|
["access", 13, 7, 10, 15],
|
|
["access", 53, 3, 11, 16],
|
|
["access", 73, 35, 12, 15],
|
|
["access", 55, 15, 13, 20],
|
|
["access", 85, 27, 14, 21],
|
|
["null", 57, 17, 12],
|
|
["null", 41, 18, 13],
|
|
["null", 29, 19, 15],
|
|
["access", 14, -2147483648, 21, 17],
|
|
["access", 18, 2147483647, 22, 17],
|
|
["access", 4, 4503599627370495, 23, 21],
|
|
["function", 90, 0, 29, 14],
|
|
["move", 88, 90, 29, 14],
|
|
["function", 91, 1, 35, 17],
|
|
["move", 80, 91, 35, 17],
|
|
["function", 92, 2, 44, 15],
|
|
["move", 67, 92, 44, 15],
|
|
["function", 93, 3, 50, 15],
|
|
["move", 42, 93, 50, 15],
|
|
["function", 94, 4, 56, 20],
|
|
["move", 61, 94, 56, 20],
|
|
["function", 95, 5, 62, 14],
|
|
["move", 31, 95, 62, 14],
|
|
["function", 96, 6, 68, 19],
|
|
["move", 33, 96, 68, 19],
|
|
["function", 97, 7, 74, 15],
|
|
["move", 21, 97, 74, 15],
|
|
["function", 98, 8, 110, 15],
|
|
["move", 15, 98, 110, 15],
|
|
["function", 99, 9, 117, 16],
|
|
["move", 81, 99, 117, 16],
|
|
["function", 100, 10, 124, 15],
|
|
["move", 17, 100, 124, 15],
|
|
["function", 101, 11, 131, 19],
|
|
["move", 46, 101, 131, 19],
|
|
["function", 102, 12, 149, 18],
|
|
["move", 84, 102, 149, 18],
|
|
["function", 103, 13, 186, 15],
|
|
["move", 51, 103, 186, 15],
|
|
["function", 104, 14, 193, 16],
|
|
["move", 74, 104, 193, 16],
|
|
["function", 105, 15, 201, 19],
|
|
["move", 5, 105, 201, 19],
|
|
["function", 106, 16, 212, 11],
|
|
["move", 48, 106, 212, 11],
|
|
["function", 107, 17, 254, 11],
|
|
["move", 6, 107, 254, 11],
|
|
["function", 108, 18, 288, 11],
|
|
["move", 1, 108, 288, 11],
|
|
["function", 109, 19, 322, 11],
|
|
["move", 63, 109, 322, 11],
|
|
["function", 110, 20, 366, 11],
|
|
["move", 2, 110, 366, 11],
|
|
["function", 111, 21, 407, 11],
|
|
["move", 39, 111, 407, 11],
|
|
["function", 112, 22, 494, 10],
|
|
["move", 79, 112, 494, 10],
|
|
["function", 113, 23, 499, 10],
|
|
["move", 75, 113, 499, 10],
|
|
["function", 114, 24, 504, 10],
|
|
["move", 58, 114, 504, 10],
|
|
["function", 115, 25, 509, 10],
|
|
["move", 49, 115, 509, 10],
|
|
["function", 116, 26, 514, 10],
|
|
["move", 76, 116, 514, 10],
|
|
["function", 117, 27, 519, 10],
|
|
["move", 78, 117, 519, 10],
|
|
["function", 118, 28, 528, 11],
|
|
["move", 64, 118, 528, 11],
|
|
["function", 119, 29, 555, 11],
|
|
["move", 32, 119, 555, 11],
|
|
["function", 120, 30, 582, 11],
|
|
["move", 35, 120, 582, 11],
|
|
["function", 121, 31, 609, 12],
|
|
["move", 43, 121, 609, 12],
|
|
["function", 122, 32, 619, 12],
|
|
["move", 68, 122, 619, 12],
|
|
["function", 123, 33, 643, 18],
|
|
["move", 7, 123, 643, 18],
|
|
["function", 124, 34, 670, 12],
|
|
["move", 37, 124, 670, 12],
|
|
["function", 125, 35, 675, 11],
|
|
["move", 70, 125, 675, 11],
|
|
["function", 126, 36, 680, 12],
|
|
["move", 60, 126, 680, 12],
|
|
["function", 127, 37, 687, 16],
|
|
["move", 44, 127, 687, 16],
|
|
["function", 128, 38, 715, 11],
|
|
["move", 65, 128, 715, 11],
|
|
["function", 129, 39, 720, 11],
|
|
["move", 82, 129, 720, 11],
|
|
["function", 130, 40, 725, 12],
|
|
["move", 3, 130, 725, 12],
|
|
["function", 131, 41, 737, 15],
|
|
["move", 77, 131, 737, 15],
|
|
["function", 132, 42, 757, 15],
|
|
["move", 34, 132, 757, 15],
|
|
["function", 133, 43, 777, 15],
|
|
["move", 22, 133, 777, 15],
|
|
["function", 134, 44, 797, 15],
|
|
["move", 8, 134, 797, 15],
|
|
["function", 135, 45, 827, 15],
|
|
["move", 9, 135, 827, 15],
|
|
["function", 136, 46, 847, 15],
|
|
["move", 52, 136, 847, 15],
|
|
["function", 137, 47, 866, 17],
|
|
["move", 20, 137, 866, 17],
|
|
["function", 138, 48, 871, 17],
|
|
["move", 36, 138, 871, 17],
|
|
["function", 139, 49, 876, 17],
|
|
["move", 45, 139, 876, 17],
|
|
["function", 140, 50, 881, 17],
|
|
["move", 19, 140, 881, 17],
|
|
["function", 141, 51, 886, 17],
|
|
["move", 66, 141, 886, 17],
|
|
["function", 142, 52, 891, 17],
|
|
["move", 83, 142, 891, 17],
|
|
["function", 143, 53, 897, 14],
|
|
["move", 10, 143, 897, 14],
|
|
["function", 144, 54, 903, 15],
|
|
["move", 25, 144, 903, 15],
|
|
["function", 145, 55, 915, 14],
|
|
["move", 30, 145, 915, 14],
|
|
["function", 146, 56, 916, 14],
|
|
["move", 24, 146, 916, 14],
|
|
["function", 147, 57, 917, 14],
|
|
["move", 28, 147, 917, 14],
|
|
["function", 148, 58, 918, 14],
|
|
["move", 38, 148, 918, 14],
|
|
["function", 149, 59, 919, 14],
|
|
["move", 86, 149, 919, 14],
|
|
["function", 150, 60, 920, 14],
|
|
["move", 11, 150, 920, 14],
|
|
["function", 151, 61, 924, 17],
|
|
["move", 87, 151, 924, 17],
|
|
["function", 152, 62, 933, 16],
|
|
["move", 89, 152, 933, 16],
|
|
["function", 153, 63, 934, 16],
|
|
["move", 47, 153, 934, 16],
|
|
["function", 154, 64, 935, 16],
|
|
["move", 50, 154, 935, 16],
|
|
["function", 155, 65, 936, 16],
|
|
["move", 71, 155, 936, 16],
|
|
["function", 156, 66, 937, 16],
|
|
["move", 54, 156, 937, 16],
|
|
["function", 157, 67, 938, 16],
|
|
["move", 59, 157, 938, 16],
|
|
["function", 158, 68, 942, 16],
|
|
["move", 12, 158, 942, 16],
|
|
["function", 159, 69, 953, 15],
|
|
["move", 26, 159, 953, 15],
|
|
["function", 160, 70, 954, 15],
|
|
["move", 40, 160, 954, 15],
|
|
["function", 161, 71, 955, 15],
|
|
["move", 27, 161, 955, 15],
|
|
["function", 162, 72, 956, 15],
|
|
["move", 23, 162, 956, 15],
|
|
["function", 163, 73, 957, 15],
|
|
["move", 56, 163, 957, 15],
|
|
["function", 164, 74, 958, 15],
|
|
["move", 16, 164, 958, 15],
|
|
["function", 165, 75, 961, 15],
|
|
["move", 69, 165, 961, 15],
|
|
["function", 166, 76, 969, 15],
|
|
["move", 62, 166, 969, 15],
|
|
["function", 167, 77, 978, 20],
|
|
["move", 72, 167, 978, 20],
|
|
["record", 168, 0],
|
|
["store_field", 168, 13, "js_null", 992, 12],
|
|
["store_field", 168, 53, "js_false", 993, 13],
|
|
["store_field", 168, 73, "js_true", 994, 12],
|
|
["access", 169, 15, 995, 17],
|
|
["store_field", 168, 169, "js_exception", 995, 17],
|
|
["access", 170, 27, 996, 18],
|
|
["store_field", 168, 170, "js_empty_text", 996, 18],
|
|
["store_field", 168, 88, "is_int", 998, 11],
|
|
["store_field", 168, 80, "is_number", 999, 14],
|
|
["store_field", 168, 67, "is_null", 1000, 12],
|
|
["store_field", 168, 42, "is_bool", 1001, 12],
|
|
["store_field", 168, 61, "is_exception", 1002, 17],
|
|
["store_field", 168, 31, "is_ptr", 1003, 11],
|
|
["store_field", 168, 33, "is_imm_text", 1004, 16],
|
|
["store_field", 168, 21, "is_text", 1005, 12],
|
|
["store_field", 168, 15, "get_int", 1007, 12],
|
|
["store_field", 168, 81, "get_bool", 1008, 13],
|
|
["store_field", 168, 17, "get_ptr", 1009, 12],
|
|
["store_field", 168, 46, "get_float64", 1010, 16],
|
|
["store_field", 168, 84, "to_float64", 1011, 15],
|
|
["store_field", 168, 51, "new_int", 1013, 12],
|
|
["store_field", 168, 74, "new_bool", 1014, 13],
|
|
["store_field", 168, 5, "new_float64", 1015, 16],
|
|
["store_field", 168, 48, "add", 1017, 8],
|
|
["store_field", 168, 6, "sub", 1018, 8],
|
|
["store_field", 168, 1, "mul", 1019, 8],
|
|
["store_field", 168, 63, "div", 1020, 8],
|
|
["store_field", 168, 2, "mod", 1021, 8],
|
|
["store_field", 168, 79, "eq", 1023, 7],
|
|
["store_field", 168, 75, "ne", 1024, 7],
|
|
["store_field", 168, 58, "lt", 1025, 7],
|
|
["store_field", 168, 49, "le", 1026, 7],
|
|
["store_field", 168, 76, "gt", 1027, 7],
|
|
["store_field", 168, 78, "ge", 1028, 7],
|
|
["store_field", 168, 64, "neg", 1030, 8],
|
|
["store_field", 168, 32, "inc", 1031, 8],
|
|
["store_field", 168, 35, "dec", 1032, 8],
|
|
["store_field", 168, 43, "lnot", 1033, 9],
|
|
["store_field", 168, 68, "bnot", 1034, 9],
|
|
["store_field", 168, 37, "band", 1036, 9],
|
|
["store_field", 168, 70, "bor", 1037, 8],
|
|
["store_field", 168, 60, "bxor", 1038, 9],
|
|
["store_field", 168, 65, "shl", 1039, 8],
|
|
["store_field", 168, 82, "shr", 1040, 8],
|
|
["store_field", 168, 3, "ushr", 1041, 9],
|
|
["store_field", 168, 77, "add_int", 1043, 12],
|
|
["store_field", 168, 34, "sub_int", 1044, 12],
|
|
["store_field", 168, 22, "mul_int", 1045, 12],
|
|
["store_field", 168, 8, "div_int", 1046, 12],
|
|
["store_field", 168, 9, "mod_int", 1047, 12],
|
|
["store_field", 168, 52, "neg_int", 1048, 12],
|
|
["store_field", 168, 20, "add_float", 1050, 14],
|
|
["store_field", 168, 36, "sub_float", 1051, 14],
|
|
["store_field", 168, 45, "mul_float", 1052, 14],
|
|
["store_field", 168, 19, "div_float", 1053, 14],
|
|
["store_field", 168, 66, "mod_float", 1054, 14],
|
|
["store_field", 168, 83, "neg_float", 1055, 14],
|
|
["store_field", 168, 10, "concat", 1057, 11],
|
|
["store_field", 168, 30, "eq_int", 1059, 11],
|
|
["store_field", 168, 24, "ne_int", 1060, 11],
|
|
["store_field", 168, 28, "lt_int", 1061, 11],
|
|
["store_field", 168, 38, "le_int", 1062, 11],
|
|
["store_field", 168, 86, "gt_int", 1063, 11],
|
|
["store_field", 168, 11, "ge_int", 1064, 11],
|
|
["store_field", 168, 89, "eq_float", 1066, 13],
|
|
["store_field", 168, 47, "ne_float", 1067, 13],
|
|
["store_field", 168, 50, "lt_float", 1068, 13],
|
|
["store_field", 168, 71, "le_float", 1069, 13],
|
|
["store_field", 168, 54, "gt_float", 1070, 13],
|
|
["store_field", 168, 59, "ge_float", 1071, 13],
|
|
["store_field", 168, 26, "eq_text", 1073, 12],
|
|
["store_field", 168, 40, "ne_text", 1074, 12],
|
|
["store_field", 168, 27, "lt_text", 1075, 12],
|
|
["store_field", 168, 23, "le_text", 1076, 12],
|
|
["store_field", 168, 56, "gt_text", 1077, 12],
|
|
["store_field", 168, 16, "ge_text", 1078, 12],
|
|
["store_field", 168, 69, "eq_bool", 1080, 12],
|
|
["store_field", 168, 62, "ne_bool", 1081, 12],
|
|
["store_field", 168, 72, "is_identical", 1083, 17],
|
|
["return", 168, 1083, 17],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
]
|
|
},
|
|
"filename": "qbe.cm",
|
|
"data": {}
|
|
} |