3200 lines
102 KiB
Plaintext
3200 lines
102 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, 66, 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, 66, 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, 42, 1, 1, 1],
|
|
["get", 6, 13, 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, 42, 1, 1, 1],
|
|
["get", 6, 13, 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, 42, 1, 1, 1],
|
|
["get", 6, 13, 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, 10, 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, 10, 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, 23, 1, 408, 20],
|
|
["load_field", 11, 10, "int_cmp_op", 408, 20],
|
|
["move", 8, 11, 408, 20],
|
|
["get", 12, 23, 1, 409, 25],
|
|
["load_field", 13, 12, "float_id", 409, 25],
|
|
["move", 6, 13, 409, 25],
|
|
["access", 9, 0, 410, 17],
|
|
["get", 14, 45, 1, 411, 22],
|
|
["move", 5, 14, 411, 22],
|
|
["get", 15, 45, 1, 412, 18],
|
|
["move", 7, 15, 412, 18],
|
|
["get", 16, 23, 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, 23, 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, 23, 1, 416, 7],
|
|
["load_field", 23, 22, "is_ne", 416, 7],
|
|
["jump_false", 23, "if_else_3", 416, 7],
|
|
["get", 24, 65, 1, 417, 20],
|
|
["move", 5, 24, 417, 20],
|
|
["jump", "if_end_4", 417, 20],
|
|
"if_else_3",
|
|
"if_end_4",
|
|
["get", 25, 23, 1, 419, 7],
|
|
["load_field", 26, 25, "null_true", 419, 7],
|
|
["jump_false", 26, "if_else_5", 419, 7],
|
|
["get", 27, 65, 1, 420, 16],
|
|
["move", 7, 27, 420, 16],
|
|
["jump", "if_end_6", 420, 16],
|
|
"if_else_5",
|
|
"if_end_6",
|
|
["array", 28, 0, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 3, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 4, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 3, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 4, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 8, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 3, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 4, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 7, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 3, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 4, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 8, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 3, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 4, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 1, 1, 1],
|
|
["push", 28, 2, 1, 1],
|
|
["push", 28, 6, 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, 23, 1, 495, 85],
|
|
["get", 12, 32, 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, 23, 1, 500, 85],
|
|
["get", 12, 32, 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, 23, 1, 505, 87],
|
|
["get", 12, 32, 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, 23, 1, 510, 87],
|
|
["get", 12, 32, 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, 23, 1, 515, 87],
|
|
["get", 12, 32, 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, 23, 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, 42, 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, 13, 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, 42, 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, 48, 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, 48, 1, 671, 10],
|
|
["get", 7, 6, 1, 672, 10],
|
|
["frame", 8, 7, 4, 672, 10],
|
|
["null", 9, 672, 10],
|
|
["setarg", 8, 0, 9, 672, 10],
|
|
["setarg", 8, 1, 1, 672, 10],
|
|
["setarg", 8, 2, 2, 672, 10],
|
|
["setarg", 8, 3, 3, 672, 10],
|
|
["setarg", 8, 4, 4, 672, 10],
|
|
["tail_invoke", 8, 6, 672, 10],
|
|
["return", 6, 672, 10],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "or", 676, 10],
|
|
["put", 5, 48, 1, 676, 10],
|
|
["get", 7, 6, 1, 677, 10],
|
|
["frame", 8, 7, 4, 677, 10],
|
|
["null", 9, 677, 10],
|
|
["setarg", 8, 0, 9, 677, 10],
|
|
["setarg", 8, 1, 1, 677, 10],
|
|
["setarg", 8, 2, 2, 677, 10],
|
|
["setarg", 8, 3, 3, 677, 10],
|
|
["setarg", 8, 4, 4, 677, 10],
|
|
["tail_invoke", 8, 6, 677, 10],
|
|
["return", 6, 677, 10],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "xor", 681, 10],
|
|
["put", 5, 48, 1, 681, 10],
|
|
["get", 7, 6, 1, 682, 10],
|
|
["frame", 8, 7, 4, 682, 10],
|
|
["null", 9, 682, 10],
|
|
["setarg", 8, 0, 9, 682, 10],
|
|
["setarg", 8, 1, 1, 682, 10],
|
|
["setarg", 8, 2, 2, 682, 10],
|
|
["setarg", 8, 3, 3, 682, 10],
|
|
["setarg", 8, 4, 4, 682, 10],
|
|
["tail_invoke", 8, 6, 682, 10],
|
|
["return", 6, 682, 10],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["get", 6, 48, 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, 48, 1, 716, 10],
|
|
["get", 7, 36, 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, 48, 1, 721, 10],
|
|
["get", 7, 36, 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, 48, 1, 726, 10],
|
|
["get", 7, 36, 1, 727, 10],
|
|
["frame", 8, 7, 4, 727, 10],
|
|
["null", 9, 727, 10],
|
|
["setarg", 8, 0, 9, 727, 10],
|
|
["setarg", 8, 1, 1, 727, 10],
|
|
["setarg", 8, 2, 2, 727, 10],
|
|
["setarg", 8, 3, 3, 727, 10],
|
|
["setarg", 8, 4, 4, 727, 10],
|
|
["tail_invoke", 8, 6, 727, 10],
|
|
["return", 6, 727, 10],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["array", 5, 0, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 2, 1, 1],
|
|
["push", 5, 3, 1, 1],
|
|
["push", 5, 4, 1, 1],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 7, " %{0} =l call $JS_ConcatString(l {1}, l {2}, l {3})\n", 1, 1],
|
|
["frame", 9, 6, 2, 1, 1],
|
|
["null", 10, 1, 1],
|
|
["setarg", 9, 0, 10, 1, 1],
|
|
["setarg", 9, 1, 7, 1, 1],
|
|
["setarg", 9, 2, 5, 1, 1],
|
|
["invoke", 9, 8, 1, 1],
|
|
["return", 8, 1, 1],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["array", 5, 0, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 2, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 3, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 4, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
["push", 5, 1, 1, 1],
|
|
[
|
|
"access",
|
|
6,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 7, " %{0}.ia =l sar {1}, 1\n %{2}.ib =l sar {3}, 1\n %{4}.iaw =w copy %{5}.ia\n %{6}.ibw =w copy %{7}.ib\n %{8}.cr =w {9} %{10}.iaw, %{11}.ibw\n %{12}.crext =l extuw %{13}.cr\n %{14}.sh =l shl %{15}.crext, 5\n %{16} =l or %{17}.sh, 3\n", 1, 1],
|
|
["frame", 9, 6, 2, 1, 1],
|
|
["null", 10, 1, 1],
|
|
["setarg", 9, 0, 10, 1, 1],
|
|
["setarg", 9, 1, 7, 1, 1],
|
|
["setarg", 9, 2, 5, 1, 1],
|
|
["invoke", 9, 8, 1, 1],
|
|
["return", 8, 1, 1],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "ceqw", 754, 63],
|
|
["get", 7, 19, 1, 754, 46],
|
|
["frame", 8, 7, 4, 754, 46],
|
|
["null", 9, 754, 46],
|
|
["setarg", 8, 0, 9, 754, 46],
|
|
["setarg", 8, 1, 1, 754, 46],
|
|
["setarg", 8, 2, 3, 754, 46],
|
|
["setarg", 8, 3, 4, 754, 46],
|
|
["setarg", 8, 4, 5, 754, 46],
|
|
["tail_invoke", 8, 6, 754, 46],
|
|
["return", 6, 754, 46],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "cnew", 755, 63],
|
|
["get", 7, 19, 1, 755, 46],
|
|
["frame", 8, 7, 4, 755, 46],
|
|
["null", 9, 755, 46],
|
|
["setarg", 8, 0, 9, 755, 46],
|
|
["setarg", 8, 1, 1, 755, 46],
|
|
["setarg", 8, 2, 3, 755, 46],
|
|
["setarg", 8, 3, 4, 755, 46],
|
|
["setarg", 8, 4, 5, 755, 46],
|
|
["tail_invoke", 8, 6, 755, 46],
|
|
["return", 6, 755, 46],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "csltw", 756, 63],
|
|
["get", 7, 19, 1, 756, 46],
|
|
["frame", 8, 7, 4, 756, 46],
|
|
["null", 9, 756, 46],
|
|
["setarg", 8, 0, 9, 756, 46],
|
|
["setarg", 8, 1, 1, 756, 46],
|
|
["setarg", 8, 2, 3, 756, 46],
|
|
["setarg", 8, 3, 4, 756, 46],
|
|
["setarg", 8, 4, 5, 756, 46],
|
|
["tail_invoke", 8, 6, 756, 46],
|
|
["return", 6, 756, 46],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "cslew", 757, 63],
|
|
["get", 7, 19, 1, 757, 46],
|
|
["frame", 8, 7, 4, 757, 46],
|
|
["null", 9, 757, 46],
|
|
["setarg", 8, 0, 9, 757, 46],
|
|
["setarg", 8, 1, 1, 757, 46],
|
|
["setarg", 8, 2, 3, 757, 46],
|
|
["setarg", 8, 3, 4, 757, 46],
|
|
["setarg", 8, 4, 5, 757, 46],
|
|
["tail_invoke", 8, 6, 757, 46],
|
|
["return", 6, 757, 46],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "csgtw", 758, 63],
|
|
["get", 7, 19, 1, 758, 46],
|
|
["frame", 8, 7, 4, 758, 46],
|
|
["null", 9, 758, 46],
|
|
["setarg", 8, 0, 9, 758, 46],
|
|
["setarg", 8, 1, 1, 758, 46],
|
|
["setarg", 8, 2, 3, 758, 46],
|
|
["setarg", 8, 3, 4, 758, 46],
|
|
["setarg", 8, 4, 5, 758, 46],
|
|
["tail_invoke", 8, 6, 758, 46],
|
|
["return", 6, 758, 46],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "csgew", 759, 63],
|
|
["get", 7, 19, 1, 759, 46],
|
|
["frame", 8, 7, 4, 759, 46],
|
|
["null", 9, 759, 46],
|
|
["setarg", 8, 0, 9, 759, 46],
|
|
["setarg", 8, 1, 1, 759, 46],
|
|
["setarg", 8, 2, 3, 759, 46],
|
|
["setarg", 8, 3, 4, 759, 46],
|
|
["setarg", 8, 4, 5, 759, 46],
|
|
["tail_invoke", 8, 6, 759, 46],
|
|
["return", 6, 759, 46],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 14,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["get", 6, 48, 1, 764, 15],
|
|
["move", 5, 6, 764, 15],
|
|
["array", 7, 0, 1, 1],
|
|
["push", 7, 1, 1, 1],
|
|
["push", 7, 2, 1, 1],
|
|
["push", 7, 5, 1, 1],
|
|
["push", 7, 3, 1, 1],
|
|
["push", 7, 4, 1, 1],
|
|
["push", 7, 1, 1, 1],
|
|
["push", 7, 1, 1, 1],
|
|
["push", 7, 1, 1, 1],
|
|
["push", 7, 1, 1, 1],
|
|
["push", 7, 1, 1, 1],
|
|
["push", 7, 1, 1, 1],
|
|
[
|
|
"access",
|
|
8,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 9, " %{0}.fcr =w call $qbe_float_cmp(l {1}, w {2}, l {3}, l {4})\n %{5}.fcrext =l extuw %{6}.fcr\n %{7}.fsh =l shl %{8}.fcrext, 5\n %{9} =l or %{10}.fsh, 3\n", 1, 1],
|
|
["frame", 11, 8, 2, 1, 1],
|
|
["null", 12, 1, 1],
|
|
["setarg", 11, 0, 12, 1, 1],
|
|
["setarg", 11, 1, 9, 1, 1],
|
|
["setarg", 11, 2, 7, 1, 1],
|
|
["invoke", 11, 10, 1, 1],
|
|
["return", 10, 1, 1],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, 0, 772, 48],
|
|
["put", 5, 48, 1, 772, 48],
|
|
["get", 7, 29, 1, 772, 58],
|
|
["frame", 8, 7, 4, 772, 58],
|
|
["null", 9, 772, 58],
|
|
["setarg", 8, 0, 9, 772, 58],
|
|
["setarg", 8, 1, 1, 772, 58],
|
|
["setarg", 8, 2, 2, 772, 58],
|
|
["setarg", 8, 3, 3, 772, 58],
|
|
["setarg", 8, 4, 4, 772, 58],
|
|
["tail_invoke", 8, 6, 772, 58],
|
|
["return", 6, 772, 58],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, 1, 773, 48],
|
|
["put", 5, 48, 1, 773, 48],
|
|
["get", 7, 29, 1, 773, 58],
|
|
["frame", 8, 7, 4, 773, 58],
|
|
["null", 9, 773, 58],
|
|
["setarg", 8, 0, 9, 773, 58],
|
|
["setarg", 8, 1, 1, 773, 58],
|
|
["setarg", 8, 2, 2, 773, 58],
|
|
["setarg", 8, 3, 3, 773, 58],
|
|
["setarg", 8, 4, 4, 773, 58],
|
|
["tail_invoke", 8, 6, 773, 58],
|
|
["return", 6, 773, 58],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, 2, 774, 48],
|
|
["put", 5, 48, 1, 774, 48],
|
|
["get", 7, 29, 1, 774, 58],
|
|
["frame", 8, 7, 4, 774, 58],
|
|
["null", 9, 774, 58],
|
|
["setarg", 8, 0, 9, 774, 58],
|
|
["setarg", 8, 1, 1, 774, 58],
|
|
["setarg", 8, 2, 2, 774, 58],
|
|
["setarg", 8, 3, 3, 774, 58],
|
|
["setarg", 8, 4, 4, 774, 58],
|
|
["tail_invoke", 8, 6, 774, 58],
|
|
["return", 6, 774, 58],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, 3, 775, 48],
|
|
["put", 5, 48, 1, 775, 48],
|
|
["get", 7, 29, 1, 775, 58],
|
|
["frame", 8, 7, 4, 775, 58],
|
|
["null", 9, 775, 58],
|
|
["setarg", 8, 0, 9, 775, 58],
|
|
["setarg", 8, 1, 1, 775, 58],
|
|
["setarg", 8, 2, 2, 775, 58],
|
|
["setarg", 8, 3, 3, 775, 58],
|
|
["setarg", 8, 4, 4, 775, 58],
|
|
["tail_invoke", 8, 6, 775, 58],
|
|
["return", 6, 775, 58],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, 4, 776, 48],
|
|
["put", 5, 48, 1, 776, 48],
|
|
["get", 7, 29, 1, 776, 58],
|
|
["frame", 8, 7, 4, 776, 58],
|
|
["null", 9, 776, 58],
|
|
["setarg", 8, 0, 9, 776, 58],
|
|
["setarg", 8, 1, 1, 776, 58],
|
|
["setarg", 8, 2, 2, 776, 58],
|
|
["setarg", 8, 3, 3, 776, 58],
|
|
["setarg", 8, 4, 4, 776, 58],
|
|
["tail_invoke", 8, 6, 776, 58],
|
|
["return", 6, 776, 58],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, 5, 777, 48],
|
|
["put", 5, 48, 1, 777, 48],
|
|
["get", 7, 29, 1, 777, 58],
|
|
["frame", 8, 7, 4, 777, 58],
|
|
["null", 9, 777, 58],
|
|
["setarg", 8, 0, 9, 777, 58],
|
|
["setarg", 8, 1, 1, 777, 58],
|
|
["setarg", 8, 2, 2, 777, 58],
|
|
["setarg", 8, 3, 3, 777, 58],
|
|
["setarg", 8, 4, 4, 777, 58],
|
|
["tail_invoke", 8, 6, 777, 58],
|
|
["return", 6, 777, 58],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 16,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["get", 7, 48, 1, 782, 16],
|
|
["move", 5, 7, 782, 16],
|
|
["get", 8, 33, 1, 783, 17],
|
|
["move", 6, 8, 783, 17],
|
|
["array", 9, 0, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 2, 1, 1],
|
|
["push", 9, 3, 1, 1],
|
|
["push", 9, 4, 1, 1],
|
|
["push", 9, 6, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 5, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
["push", 9, 1, 1, 1],
|
|
[
|
|
"access",
|
|
10,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 11, " %{0}.scmp =w call $js_string_compare_value(l {1}, l {2}, l {3}, w {4})\n %{5}.tcr =w {6} %{7}.scmp, 0\n %{8}.tcrext =l extuw %{9}.tcr\n %{10}.tsh =l shl %{11}.tcrext, 5\n %{12} =l or %{13}.tsh, 3\n", 1, 1],
|
|
["frame", 13, 10, 2, 1, 1],
|
|
["null", 14, 1, 1],
|
|
["setarg", 13, 0, 14, 1, 1],
|
|
["setarg", 13, 1, 11, 1, 1],
|
|
["setarg", 13, 2, 9, 1, 1],
|
|
["invoke", 13, 12, 1, 1],
|
|
["return", 12, 1, 1],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "ceqw", 792, 47],
|
|
["put", 5, 48, 1, 792, 47],
|
|
["access", 6, 1, 792, 63],
|
|
["put", 6, 33, 1, 792, 63],
|
|
["get", 8, 7, 1, 792, 73],
|
|
["frame", 9, 8, 4, 792, 73],
|
|
["null", 10, 792, 73],
|
|
["setarg", 9, 0, 10, 792, 73],
|
|
["setarg", 9, 1, 1, 792, 73],
|
|
["setarg", 9, 2, 2, 792, 73],
|
|
["setarg", 9, 3, 3, 792, 73],
|
|
["setarg", 9, 4, 4, 792, 73],
|
|
["tail_invoke", 9, 7, 792, 73],
|
|
["return", 7, 792, 73],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "cnew", 793, 47],
|
|
["put", 5, 48, 1, 793, 47],
|
|
["access", 6, 1, 793, 63],
|
|
["put", 6, 33, 1, 793, 63],
|
|
["get", 8, 7, 1, 793, 73],
|
|
["frame", 9, 8, 4, 793, 73],
|
|
["null", 10, 793, 73],
|
|
["setarg", 9, 0, 10, 793, 73],
|
|
["setarg", 9, 1, 1, 793, 73],
|
|
["setarg", 9, 2, 2, 793, 73],
|
|
["setarg", 9, 3, 3, 793, 73],
|
|
["setarg", 9, 4, 4, 793, 73],
|
|
["tail_invoke", 9, 7, 793, 73],
|
|
["return", 7, 793, 73],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "csltw", 794, 47],
|
|
["put", 5, 48, 1, 794, 47],
|
|
["access", 6, 0, 794, 64],
|
|
["put", 6, 33, 1, 794, 64],
|
|
["get", 8, 7, 1, 794, 74],
|
|
["frame", 9, 8, 4, 794, 74],
|
|
["null", 10, 794, 74],
|
|
["setarg", 9, 0, 10, 794, 74],
|
|
["setarg", 9, 1, 1, 794, 74],
|
|
["setarg", 9, 2, 2, 794, 74],
|
|
["setarg", 9, 3, 3, 794, 74],
|
|
["setarg", 9, 4, 4, 794, 74],
|
|
["tail_invoke", 9, 7, 794, 74],
|
|
["return", 7, 794, 74],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "cslew", 795, 47],
|
|
["put", 5, 48, 1, 795, 47],
|
|
["access", 6, 0, 795, 64],
|
|
["put", 6, 33, 1, 795, 64],
|
|
["get", 8, 7, 1, 795, 74],
|
|
["frame", 9, 8, 4, 795, 74],
|
|
["null", 10, 795, 74],
|
|
["setarg", 9, 0, 10, 795, 74],
|
|
["setarg", 9, 1, 1, 795, 74],
|
|
["setarg", 9, 2, 2, 795, 74],
|
|
["setarg", 9, 3, 3, 795, 74],
|
|
["setarg", 9, 4, 4, 795, 74],
|
|
["tail_invoke", 9, 7, 795, 74],
|
|
["return", 7, 795, 74],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "csgtw", 796, 47],
|
|
["put", 5, 48, 1, 796, 47],
|
|
["access", 6, 0, 796, 64],
|
|
["put", 6, 33, 1, 796, 64],
|
|
["get", 8, 7, 1, 796, 74],
|
|
["frame", 9, 8, 4, 796, 74],
|
|
["null", 10, 796, 74],
|
|
["setarg", 9, 0, 10, 796, 74],
|
|
["setarg", 9, 1, 1, 796, 74],
|
|
["setarg", 9, 2, 2, 796, 74],
|
|
["setarg", 9, 3, 3, 796, 74],
|
|
["setarg", 9, 4, 4, 796, 74],
|
|
["tail_invoke", 9, 7, 796, 74],
|
|
["return", 7, 796, 74],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 12,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["access", 5, "csgew", 797, 47],
|
|
["put", 5, 48, 1, 797, 47],
|
|
["access", 6, 0, 797, 64],
|
|
["put", 6, 33, 1, 797, 64],
|
|
["get", 8, 7, 1, 797, 74],
|
|
["frame", 9, 8, 4, 797, 74],
|
|
["null", 10, 797, 74],
|
|
["setarg", 9, 0, 10, 797, 74],
|
|
["setarg", 9, 1, 1, 797, 74],
|
|
["setarg", 9, 2, 2, 797, 74],
|
|
["setarg", 9, 3, 3, 797, 74],
|
|
["setarg", 9, 4, 4, 797, 74],
|
|
["tail_invoke", 9, 7, 797, 74],
|
|
["return", 7, 797, 74],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 4
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["array", 4, 0, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 2, 1, 1],
|
|
["push", 4, 3, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 6, " %{0}.cr =w ceql {1}, {2}\n %{3}.crext =l extuw %{4}.cr\n %{5}.sh =l shl %{6}.crext, 5\n %{7} =l or %{8}.sh, 3\n", 1, 1],
|
|
["frame", 8, 5, 2, 1, 1],
|
|
["null", 9, 1, 1],
|
|
["setarg", 8, 0, 9, 1, 1],
|
|
["setarg", 8, 1, 6, 1, 1],
|
|
["setarg", 8, 2, 4, 1, 1],
|
|
["invoke", 8, 7, 1, 1],
|
|
["return", 7, 1, 1],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["array", 4, 0, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 2, 1, 1],
|
|
["push", 4, 3, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 6, " %{0}.cr =w cnel {1}, {2}\n %{3}.crext =l extuw %{4}.cr\n %{5}.sh =l shl %{6}.crext, 5\n %{7} =l or %{8}.sh, 3\n", 1, 1],
|
|
["frame", 8, 5, 2, 1, 1],
|
|
["null", 9, 1, 1],
|
|
["setarg", 8, 0, 9, 1, 1],
|
|
["setarg", 8, 1, 6, 1, 1],
|
|
["setarg", 8, 2, 4, 1, 1],
|
|
["invoke", 8, 7, 1, 1],
|
|
["return", 7, 1, 1],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
},
|
|
{
|
|
"disruption_pc": 0,
|
|
"nr_slots": 11,
|
|
"nr_close_slots": 0,
|
|
"instructions": [
|
|
["array", 4, 0, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 2, 1, 1],
|
|
["push", 4, 3, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
["push", 4, 1, 1, 1],
|
|
[
|
|
"access",
|
|
5,
|
|
{
|
|
"name": "format",
|
|
"kind": "name",
|
|
"make": "intrinsic"
|
|
},
|
|
1,
|
|
1
|
|
],
|
|
["access", 6, " %{0}.cr =w ceql {1}, {2}\n %{3}.crext =l extuw %{4}.cr\n %{5}.sh =l shl %{6}.crext, 5\n %{7} =l or %{8}.sh, 3\n", 1, 1],
|
|
["frame", 8, 5, 2, 1, 1],
|
|
["null", 9, 1, 1],
|
|
["setarg", 8, 0, 9, 1, 1],
|
|
["setarg", 8, 1, 6, 1, 1],
|
|
["setarg", 8, 2, 4, 1, 1],
|
|
["invoke", 8, 7, 1, 1],
|
|
["return", 7, 1, 1],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
],
|
|
"name": "<anonymous>",
|
|
"filename": "qbe.cm",
|
|
"nr_args": 3
|
|
}
|
|
],
|
|
"main": {
|
|
"nr_args": 0,
|
|
"nr_close_slots": 0,
|
|
"nr_slots": 147,
|
|
"instructions": [
|
|
["access", 10, 7, 10, 15],
|
|
["access", 45, 3, 11, 16],
|
|
["access", 65, 35, 12, 15],
|
|
["access", 47, 15, 13, 20],
|
|
["access", 16, 27, 14, 21],
|
|
["null", 48, 17, 12],
|
|
["null", 33, 18, 13],
|
|
["null", 23, 19, 15],
|
|
["access", 42, -2147483648, 21, 17],
|
|
["access", 13, 2147483647, 22, 17],
|
|
["access", 66, 4503599627370495, 23, 21],
|
|
["function", 78, 0, 29, 14],
|
|
["move", 76, 78, 29, 14],
|
|
["function", 79, 1, 35, 17],
|
|
["move", 53, 79, 35, 17],
|
|
["function", 80, 2, 44, 15],
|
|
["move", 58, 80, 44, 15],
|
|
["function", 81, 3, 50, 15],
|
|
["move", 34, 81, 50, 15],
|
|
["function", 82, 4, 56, 20],
|
|
["move", 52, 82, 56, 20],
|
|
["function", 83, 5, 62, 14],
|
|
["move", 25, 83, 62, 14],
|
|
["function", 84, 6, 68, 19],
|
|
["move", 31, 84, 68, 19],
|
|
["function", 85, 7, 74, 15],
|
|
["move", 15, 85, 74, 15],
|
|
["function", 86, 8, 110, 15],
|
|
["move", 11, 86, 110, 15],
|
|
["function", 87, 9, 117, 16],
|
|
["move", 72, 87, 117, 16],
|
|
["function", 88, 10, 124, 15],
|
|
["move", 14, 88, 124, 15],
|
|
["function", 89, 11, 131, 19],
|
|
["move", 62, 89, 131, 19],
|
|
["function", 90, 12, 149, 18],
|
|
["move", 75, 90, 149, 18],
|
|
["function", 91, 13, 186, 15],
|
|
["move", 43, 91, 186, 15],
|
|
["function", 92, 14, 193, 16],
|
|
["move", 67, 92, 193, 16],
|
|
["function", 93, 15, 201, 19],
|
|
["move", 8, 93, 201, 19],
|
|
["function", 94, 16, 212, 11],
|
|
["move", 40, 94, 212, 11],
|
|
["function", 95, 17, 254, 11],
|
|
["move", 5, 95, 254, 11],
|
|
["function", 96, 18, 288, 11],
|
|
["move", 1, 96, 288, 11],
|
|
["function", 97, 19, 322, 11],
|
|
["move", 54, 97, 322, 11],
|
|
["function", 98, 20, 366, 11],
|
|
["move", 2, 98, 366, 11],
|
|
["function", 99, 21, 407, 11],
|
|
["move", 32, 99, 407, 11],
|
|
["function", 100, 22, 494, 10],
|
|
["move", 71, 100, 494, 10],
|
|
["function", 101, 23, 499, 10],
|
|
["move", 68, 101, 499, 10],
|
|
["function", 102, 24, 504, 10],
|
|
["move", 49, 102, 504, 10],
|
|
["function", 103, 25, 509, 10],
|
|
["move", 41, 103, 509, 10],
|
|
["function", 104, 26, 514, 10],
|
|
["move", 69, 104, 514, 10],
|
|
["function", 105, 27, 519, 10],
|
|
["move", 70, 105, 519, 10],
|
|
["function", 106, 28, 528, 11],
|
|
["move", 55, 106, 528, 11],
|
|
["function", 107, 29, 555, 11],
|
|
["move", 26, 107, 555, 11],
|
|
["function", 108, 30, 582, 11],
|
|
["move", 28, 108, 582, 11],
|
|
["function", 109, 31, 609, 12],
|
|
["move", 35, 109, 609, 12],
|
|
["function", 110, 32, 619, 12],
|
|
["move", 59, 110, 619, 12],
|
|
["function", 111, 33, 643, 18],
|
|
["move", 6, 111, 643, 18],
|
|
["function", 112, 34, 670, 12],
|
|
["move", 30, 112, 670, 12],
|
|
["function", 113, 35, 675, 11],
|
|
["move", 61, 113, 675, 11],
|
|
["function", 114, 36, 680, 12],
|
|
["move", 51, 114, 680, 12],
|
|
["function", 115, 37, 687, 16],
|
|
["move", 36, 115, 687, 16],
|
|
["function", 116, 38, 715, 11],
|
|
["move", 56, 116, 715, 11],
|
|
["function", 117, 39, 720, 11],
|
|
["move", 73, 117, 720, 11],
|
|
["function", 118, 40, 725, 12],
|
|
["move", 3, 118, 725, 12],
|
|
["function", 119, 41, 736, 14],
|
|
["move", 4, 119, 736, 14],
|
|
["function", 120, 42, 742, 15],
|
|
["move", 19, 120, 742, 15],
|
|
["function", 121, 43, 754, 14],
|
|
["move", 24, 121, 754, 14],
|
|
["function", 122, 44, 755, 14],
|
|
["move", 18, 122, 755, 14],
|
|
["function", 123, 45, 756, 14],
|
|
["move", 22, 123, 756, 14],
|
|
["function", 124, 46, 757, 14],
|
|
["move", 27, 124, 757, 14],
|
|
["function", 125, 47, 758, 14],
|
|
["move", 74, 125, 758, 14],
|
|
["function", 126, 48, 759, 14],
|
|
["move", 9, 126, 759, 14],
|
|
["function", 127, 49, 763, 17],
|
|
["move", 29, 127, 763, 17],
|
|
["function", 128, 50, 772, 16],
|
|
["move", 77, 128, 772, 16],
|
|
["function", 129, 51, 773, 16],
|
|
["move", 37, 129, 773, 16],
|
|
["function", 130, 52, 774, 16],
|
|
["move", 38, 130, 774, 16],
|
|
["function", 131, 53, 775, 16],
|
|
["move", 63, 131, 775, 16],
|
|
["function", 132, 54, 776, 16],
|
|
["move", 39, 132, 776, 16],
|
|
["function", 133, 55, 777, 16],
|
|
["move", 50, 133, 777, 16],
|
|
["function", 134, 56, 781, 16],
|
|
["move", 7, 134, 781, 16],
|
|
["function", 135, 57, 792, 15],
|
|
["move", 20, 135, 792, 15],
|
|
["function", 136, 58, 793, 15],
|
|
["move", 44, 136, 793, 15],
|
|
["function", 137, 59, 794, 15],
|
|
["move", 21, 137, 794, 15],
|
|
["function", 138, 60, 795, 15],
|
|
["move", 17, 138, 795, 15],
|
|
["function", 139, 61, 796, 15],
|
|
["move", 46, 139, 796, 15],
|
|
["function", 140, 62, 797, 15],
|
|
["move", 12, 140, 797, 15],
|
|
["function", 141, 63, 800, 15],
|
|
["move", 60, 141, 800, 15],
|
|
["function", 142, 64, 808, 15],
|
|
["move", 57, 142, 808, 15],
|
|
["function", 143, 65, 817, 20],
|
|
["move", 64, 143, 817, 20],
|
|
["record", 144, 0],
|
|
["store_field", 144, 10, "js_null", 831, 12],
|
|
["store_field", 144, 45, "js_false", 832, 13],
|
|
["store_field", 144, 65, "js_true", 833, 12],
|
|
["access", 145, 15, 834, 17],
|
|
["store_field", 144, 145, "js_exception", 834, 17],
|
|
["store_field", 144, 16, "js_empty_text", 835, 18],
|
|
["store_field", 144, 76, "is_int", 837, 11],
|
|
["store_field", 144, 53, "is_number", 838, 14],
|
|
["store_field", 144, 58, "is_null", 839, 12],
|
|
["store_field", 144, 34, "is_bool", 840, 12],
|
|
["store_field", 144, 52, "is_exception", 841, 17],
|
|
["store_field", 144, 25, "is_ptr", 842, 11],
|
|
["store_field", 144, 31, "is_imm_text", 843, 16],
|
|
["store_field", 144, 15, "is_text", 844, 12],
|
|
["store_field", 144, 11, "get_int", 846, 12],
|
|
["store_field", 144, 72, "get_bool", 847, 13],
|
|
["store_field", 144, 14, "get_ptr", 848, 12],
|
|
["store_field", 144, 62, "get_float64", 849, 16],
|
|
["store_field", 144, 75, "to_float64", 850, 15],
|
|
["store_field", 144, 43, "new_int", 852, 12],
|
|
["store_field", 144, 67, "new_bool", 853, 13],
|
|
["store_field", 144, 8, "new_float64", 854, 16],
|
|
["store_field", 144, 40, "add", 856, 8],
|
|
["store_field", 144, 5, "sub", 857, 8],
|
|
["store_field", 144, 1, "mul", 858, 8],
|
|
["store_field", 144, 54, "div", 859, 8],
|
|
["store_field", 144, 2, "mod", 860, 8],
|
|
["store_field", 144, 71, "eq", 862, 7],
|
|
["store_field", 144, 68, "ne", 863, 7],
|
|
["store_field", 144, 49, "lt", 864, 7],
|
|
["store_field", 144, 41, "le", 865, 7],
|
|
["store_field", 144, 69, "gt", 866, 7],
|
|
["store_field", 144, 70, "ge", 867, 7],
|
|
["store_field", 144, 55, "neg", 869, 8],
|
|
["store_field", 144, 26, "inc", 870, 8],
|
|
["store_field", 144, 28, "dec", 871, 8],
|
|
["store_field", 144, 35, "lnot", 872, 9],
|
|
["store_field", 144, 59, "bnot", 873, 9],
|
|
["store_field", 144, 30, "band", 875, 9],
|
|
["store_field", 144, 61, "bor", 876, 8],
|
|
["store_field", 144, 51, "bxor", 877, 9],
|
|
["store_field", 144, 56, "shl", 878, 8],
|
|
["store_field", 144, 73, "shr", 879, 8],
|
|
["store_field", 144, 3, "ushr", 880, 9],
|
|
["store_field", 144, 4, "concat", 882, 11],
|
|
["store_field", 144, 24, "eq_int", 884, 11],
|
|
["store_field", 144, 18, "ne_int", 885, 11],
|
|
["store_field", 144, 22, "lt_int", 886, 11],
|
|
["store_field", 144, 27, "le_int", 887, 11],
|
|
["store_field", 144, 74, "gt_int", 888, 11],
|
|
["store_field", 144, 9, "ge_int", 889, 11],
|
|
["store_field", 144, 77, "eq_float", 891, 13],
|
|
["store_field", 144, 37, "ne_float", 892, 13],
|
|
["store_field", 144, 38, "lt_float", 893, 13],
|
|
["store_field", 144, 63, "le_float", 894, 13],
|
|
["store_field", 144, 39, "gt_float", 895, 13],
|
|
["store_field", 144, 50, "ge_float", 896, 13],
|
|
["store_field", 144, 20, "eq_text", 898, 12],
|
|
["store_field", 144, 44, "ne_text", 899, 12],
|
|
["store_field", 144, 21, "lt_text", 900, 12],
|
|
["store_field", 144, 17, "le_text", 901, 12],
|
|
["store_field", 144, 46, "gt_text", 902, 12],
|
|
["store_field", 144, 12, "ge_text", 903, 12],
|
|
["store_field", 144, 60, "eq_bool", 905, 12],
|
|
["store_field", 144, 57, "ne_bool", 906, 12],
|
|
["store_field", 144, 64, "is_identical", 908, 17],
|
|
["return", 144, 908, 17],
|
|
"_nop_ur_1",
|
|
"_nop_ur_2"
|
|
]
|
|
},
|
|
"filename": "qbe.cm",
|
|
"data": {}
|
|
} |