|
5 | 5 | (type $3 (func (param i32)))
|
6 | 6 | (type $4 (func (param i32 i32)))
|
7 | 7 | (type $5 (func (param i32 i32) (result i32)))
|
8 |
| - (type $6 (func (param i32 i32 i32 i32))) |
9 |
| - (type $7 (func (param i32 i32 i64))) |
| 8 | + (type $6 (func (param i32 i32 i32) (result f64))) |
| 9 | + (type $7 (func (param i32 i32 i32 i32))) |
| 10 | + (type $8 (func (param i32 i32 i64))) |
| 11 | + (type $9 (func (param f64) (result f64))) |
10 | 12 | (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
|
11 | 13 | (global $~lib/rt/itcms/total (mut i32) (i32.const 0))
|
12 | 14 | (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0))
|
|
39 | 41 | (table $0 2 2 funcref)
|
40 | 42 | (elem $0 (i32.const 1) $inlining/func_fe~anonymous|0)
|
41 | 43 | (export "test" (func $inlining/test))
|
| 44 | + (export "foo" (func $inlining/foo)) |
| 45 | + (export "bar" (func $inlining/bar)) |
42 | 46 | (export "memory" (memory $0))
|
43 | 47 | (start $~start)
|
44 | 48 | (func $inlining/test (result i32)
|
|
130 | 134 | local.get $0
|
131 | 135 | global.set $~lib/rt/itcms/iter
|
132 | 136 | end
|
133 |
| - block $__inlined_func$~lib/rt/itcms/Object#unlink$124 |
| 137 | + block $__inlined_func$~lib/rt/itcms/Object#unlink$125 |
134 | 138 | local.get $1
|
135 | 139 | i32.load offset=4
|
136 | 140 | i32.const -4
|
|
154 | 158 | call $~lib/builtins/abort
|
155 | 159 | unreachable
|
156 | 160 | end
|
157 |
| - br $__inlined_func$~lib/rt/itcms/Object#unlink$124 |
| 161 | + br $__inlined_func$~lib/rt/itcms/Object#unlink$125 |
158 | 162 | end
|
159 | 163 | local.get $1
|
160 | 164 | i32.load offset=8
|
|
1752 | 1756 | call $~lib/builtins/abort
|
1753 | 1757 | unreachable
|
1754 | 1758 | )
|
| 1759 | + (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) |
| 1760 | + (local $1 i32) |
| 1761 | + (local $2 i64) |
| 1762 | + (local $3 f64) |
| 1763 | + (local $4 f64) |
| 1764 | + local.get $0 |
| 1765 | + i64.reinterpret_f64 |
| 1766 | + local.tee $2 |
| 1767 | + i64.const 32 |
| 1768 | + i64.shr_u |
| 1769 | + i32.wrap_i64 |
| 1770 | + i32.const 2147483647 |
| 1771 | + i32.and |
| 1772 | + local.tee $1 |
| 1773 | + i32.const 2146435072 |
| 1774 | + i32.ge_u |
| 1775 | + if |
| 1776 | + local.get $0 |
| 1777 | + local.get $0 |
| 1778 | + f64.add |
| 1779 | + return |
| 1780 | + end |
| 1781 | + local.get $1 |
| 1782 | + i32.const 1048576 |
| 1783 | + i32.lt_u |
| 1784 | + if (result i32) |
| 1785 | + local.get $0 |
| 1786 | + f64.const 18014398509481984 |
| 1787 | + f64.mul |
| 1788 | + i64.reinterpret_f64 |
| 1789 | + local.tee $2 |
| 1790 | + i64.const 32 |
| 1791 | + i64.shr_u |
| 1792 | + i32.wrap_i64 |
| 1793 | + i32.const 2147483647 |
| 1794 | + i32.and |
| 1795 | + local.tee $1 |
| 1796 | + i32.eqz |
| 1797 | + if |
| 1798 | + local.get $0 |
| 1799 | + return |
| 1800 | + end |
| 1801 | + local.get $1 |
| 1802 | + i32.const 3 |
| 1803 | + i32.div_u |
| 1804 | + i32.const 696219795 |
| 1805 | + i32.add |
| 1806 | + else |
| 1807 | + local.get $1 |
| 1808 | + i32.const 3 |
| 1809 | + i32.div_u |
| 1810 | + i32.const 715094163 |
| 1811 | + i32.add |
| 1812 | + end |
| 1813 | + local.set $1 |
| 1814 | + local.get $2 |
| 1815 | + i64.const -9223372036854775808 |
| 1816 | + i64.and |
| 1817 | + local.get $1 |
| 1818 | + i64.extend_i32_u |
| 1819 | + i64.const 32 |
| 1820 | + i64.shl |
| 1821 | + i64.or |
| 1822 | + f64.reinterpret_i64 |
| 1823 | + local.tee $4 |
| 1824 | + local.get $4 |
| 1825 | + f64.mul |
| 1826 | + local.get $4 |
| 1827 | + local.get $0 |
| 1828 | + f64.div |
| 1829 | + f64.mul |
| 1830 | + local.set $3 |
| 1831 | + local.get $0 |
| 1832 | + local.get $4 |
| 1833 | + local.get $3 |
| 1834 | + local.get $3 |
| 1835 | + f64.const 1.6214297201053545 |
| 1836 | + f64.mul |
| 1837 | + f64.const -1.8849797954337717 |
| 1838 | + f64.add |
| 1839 | + f64.mul |
| 1840 | + f64.const 1.87595182427177 |
| 1841 | + f64.add |
| 1842 | + local.get $3 |
| 1843 | + local.get $3 |
| 1844 | + f64.mul |
| 1845 | + local.get $3 |
| 1846 | + f64.mul |
| 1847 | + local.get $3 |
| 1848 | + f64.const 0.14599619288661245 |
| 1849 | + f64.mul |
| 1850 | + f64.const -0.758397934778766 |
| 1851 | + f64.add |
| 1852 | + f64.mul |
| 1853 | + f64.add |
| 1854 | + f64.mul |
| 1855 | + i64.reinterpret_f64 |
| 1856 | + i64.const 2147483648 |
| 1857 | + i64.add |
| 1858 | + i64.const -1073741824 |
| 1859 | + i64.and |
| 1860 | + f64.reinterpret_i64 |
| 1861 | + local.tee $0 |
| 1862 | + local.get $0 |
| 1863 | + f64.mul |
| 1864 | + f64.div |
| 1865 | + local.set $3 |
| 1866 | + local.get $0 |
| 1867 | + local.get $0 |
| 1868 | + local.get $3 |
| 1869 | + local.get $0 |
| 1870 | + f64.sub |
| 1871 | + local.get $0 |
| 1872 | + local.get $0 |
| 1873 | + f64.add |
| 1874 | + local.get $3 |
| 1875 | + f64.add |
| 1876 | + f64.div |
| 1877 | + f64.mul |
| 1878 | + f64.add |
| 1879 | + ) |
| 1880 | + (func $inlining/foo (param $0 i32) (param $1 i32) (param $2 i32) (result f64) |
| 1881 | + local.get $0 |
| 1882 | + f64.convert_i32_s |
| 1883 | + local.get $1 |
| 1884 | + f64.convert_i32_s |
| 1885 | + call $~lib/math/NativeMath.cbrt |
| 1886 | + f64.mul |
| 1887 | + local.get $2 |
| 1888 | + f64.convert_i32_s |
| 1889 | + f64.add |
| 1890 | + ) |
| 1891 | + (func $inlining/bar (param $0 i32) (param $1 i32) (param $2 i32) (result f64) |
| 1892 | + (local $3 f64) |
| 1893 | + (local $4 f64) |
| 1894 | + (local $5 f64) |
| 1895 | + local.get $0 |
| 1896 | + f64.convert_i32_s |
| 1897 | + local.tee $3 |
| 1898 | + local.get $1 |
| 1899 | + f64.convert_i32_s |
| 1900 | + local.tee $4 |
| 1901 | + call $~lib/math/NativeMath.cbrt |
| 1902 | + f64.mul |
| 1903 | + local.get $2 |
| 1904 | + f64.convert_i32_s |
| 1905 | + local.tee $5 |
| 1906 | + f64.add |
| 1907 | + local.get $4 |
| 1908 | + local.get $3 |
| 1909 | + call $~lib/math/NativeMath.cbrt |
| 1910 | + f64.mul |
| 1911 | + local.get $5 |
| 1912 | + f64.add |
| 1913 | + f64.div |
| 1914 | + ) |
1755 | 1915 | (func $~lib/rt/__visit_members (param $0 i32)
|
1756 | 1916 | block $invalid
|
1757 | 1917 | block $inlining/Baz
|
|
0 commit comments