|
10 | 10 | (type $none_=>_i32 (func (result i32))) |
11 | 11 | (type $i64_=>_i32 (func (param i64) (result i32))) |
12 | 12 | (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) |
13 | | - (type $i32_i32_i32_i32_i32_i32_f64_=>_f64 (func (param i32 i32 i32 i32 i32 i32 f64) (result f64))) |
14 | | - (import "Date" "UTC" (func $~lib/bindings/Date/UTC (param i32 i32 i32 i32 i32 i32 f64) (result f64))) |
| 13 | + (type $i32_i32_i32_i32_i32_i32_i32_=>_i64 (func (param i32 i32 i32 i32 i32 i32 i32) (result i64))) |
15 | 14 | (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) |
16 | 15 | (memory $0 1) |
17 | 16 | (data (i32.const 1036) ",") |
|
100 | 99 | (global $~started (mut i32) (i32.const 0)) |
101 | 100 | (export "memory" (memory $0)) |
102 | 101 | (export "_start" (func $~start)) |
| 102 | + (func $~lib/date/daysSinceEpoch (param $0 i32) (param $1 i32) (param $2 i32) (result i32) |
| 103 | + (local $3 i32) |
| 104 | + local.get $0 |
| 105 | + local.get $1 |
| 106 | + i32.const 2 |
| 107 | + i32.le_s |
| 108 | + i32.sub |
| 109 | + local.tee $0 |
| 110 | + local.get $0 |
| 111 | + i32.const 399 |
| 112 | + i32.sub |
| 113 | + local.get $0 |
| 114 | + i32.const 0 |
| 115 | + i32.ge_s |
| 116 | + select |
| 117 | + i32.const 400 |
| 118 | + i32.div_s |
| 119 | + local.tee $3 |
| 120 | + i32.const 146097 |
| 121 | + i32.mul |
| 122 | + local.get $2 |
| 123 | + local.get $1 |
| 124 | + i32.const -3 |
| 125 | + i32.const 9 |
| 126 | + local.get $1 |
| 127 | + i32.const 2 |
| 128 | + i32.gt_s |
| 129 | + select |
| 130 | + i32.add |
| 131 | + i32.const 153 |
| 132 | + i32.mul |
| 133 | + i32.const 2 |
| 134 | + i32.add |
| 135 | + i32.const 5 |
| 136 | + i32.div_s |
| 137 | + i32.add |
| 138 | + local.get $0 |
| 139 | + local.get $3 |
| 140 | + i32.const 400 |
| 141 | + i32.mul |
| 142 | + i32.sub |
| 143 | + local.tee $0 |
| 144 | + i32.const 365 |
| 145 | + i32.mul |
| 146 | + local.get $0 |
| 147 | + i32.const 4 |
| 148 | + i32.div_s |
| 149 | + i32.add |
| 150 | + local.get $0 |
| 151 | + i32.const 100 |
| 152 | + i32.div_s |
| 153 | + i32.sub |
| 154 | + i32.add |
| 155 | + i32.add |
| 156 | + i32.const 719469 |
| 157 | + i32.sub |
| 158 | + ) |
| 159 | + (func $~lib/date/epochMillis (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i64) |
| 160 | + local.get $6 |
| 161 | + i64.extend_i32_s |
| 162 | + local.get $5 |
| 163 | + i32.const 1000 |
| 164 | + i32.mul |
| 165 | + i64.extend_i32_s |
| 166 | + local.get $4 |
| 167 | + i32.const 60000 |
| 168 | + i32.mul |
| 169 | + i64.extend_i32_s |
| 170 | + local.get $3 |
| 171 | + i32.const 3600000 |
| 172 | + i32.mul |
| 173 | + i64.extend_i32_s |
| 174 | + local.get $0 |
| 175 | + local.get $1 |
| 176 | + local.get $2 |
| 177 | + call $~lib/date/daysSinceEpoch |
| 178 | + i64.extend_i32_s |
| 179 | + i64.const 86400000 |
| 180 | + i64.mul |
| 181 | + i64.add |
| 182 | + i64.add |
| 183 | + i64.add |
| 184 | + i64.add |
| 185 | + ) |
103 | 186 | (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) |
104 | 187 | local.get $0 |
105 | 188 | local.get $0 |
|
1877 | 1960 | if |
1878 | 1961 | i32.const 1504 |
1879 | 1962 | i32.const 1568 |
1880 | | - i32.const 195 |
| 1963 | + i32.const 193 |
1881 | 1964 | i32.const 39 |
1882 | 1965 | call $~lib/builtins/abort |
1883 | 1966 | unreachable |
|
2176 | 2259 | end |
2177 | 2260 | end |
2178 | 2261 | ) |
2179 | | - (func $~lib/date/daysSinceEpoch (param $0 i32) (param $1 i32) (param $2 i32) (result i32) |
2180 | | - (local $3 i32) |
2181 | | - local.get $0 |
2182 | | - local.get $1 |
2183 | | - i32.const 2 |
2184 | | - i32.le_s |
2185 | | - i32.sub |
2186 | | - local.tee $0 |
2187 | | - local.get $0 |
2188 | | - i32.const 399 |
2189 | | - i32.sub |
2190 | | - local.get $0 |
2191 | | - i32.const 0 |
2192 | | - i32.ge_s |
2193 | | - select |
2194 | | - i32.const 400 |
2195 | | - i32.div_s |
2196 | | - local.tee $3 |
2197 | | - i32.const 146097 |
2198 | | - i32.mul |
2199 | | - local.get $2 |
2200 | | - local.get $1 |
2201 | | - i32.const -3 |
2202 | | - i32.const 9 |
2203 | | - local.get $1 |
2204 | | - i32.const 2 |
2205 | | - i32.gt_s |
2206 | | - select |
2207 | | - i32.add |
2208 | | - i32.const 153 |
2209 | | - i32.mul |
2210 | | - i32.const 2 |
2211 | | - i32.add |
2212 | | - i32.const 5 |
2213 | | - i32.div_s |
2214 | | - i32.add |
2215 | | - local.get $0 |
2216 | | - local.get $3 |
2217 | | - i32.const 400 |
2218 | | - i32.mul |
2219 | | - i32.sub |
2220 | | - local.tee $0 |
2221 | | - i32.const 365 |
2222 | | - i32.mul |
2223 | | - local.get $0 |
2224 | | - i32.const 4 |
2225 | | - i32.div_s |
2226 | | - i32.add |
2227 | | - local.get $0 |
2228 | | - i32.const 100 |
2229 | | - i32.div_s |
2230 | | - i32.sub |
2231 | | - i32.add |
2232 | | - i32.add |
2233 | | - i32.const 719469 |
2234 | | - i32.sub |
2235 | | - ) |
2236 | 2262 | (func $~lib/date/Date#setUTCDate (param $0 i32) (param $1 i32) |
2237 | 2263 | (local $2 i32) |
2238 | 2264 | (local $3 i32) |
|
4099 | 4125 | i32.store offset=16 |
4100 | 4126 | local.get $1 |
4101 | 4127 | call $~lib/util/string/strtol<i32> |
4102 | | - local.set $6 |
4103 | 4128 | local.get $0 |
4104 | 4129 | i32.const 1 |
4105 | 4130 | call $~lib/array/Array<~lib/string/String>#__get |
|
4109 | 4134 | i32.store offset=16 |
4110 | 4135 | local.get $1 |
4111 | 4136 | call $~lib/util/string/strtol<i32> |
4112 | | - local.set $1 |
4113 | 4137 | local.get $0 |
4114 | 4138 | i32.const 2 |
4115 | 4139 | call $~lib/array/Array<~lib/string/String>#__get |
4116 | 4140 | local.set $0 |
4117 | 4141 | global.get $~lib/memory/__stack_pointer |
4118 | 4142 | local.get $0 |
4119 | 4143 | i32.store offset=16 |
4120 | | - local.get $5 |
4121 | | - i64.extend_i32_s |
4122 | | - local.get $2 |
4123 | | - i32.const 1000 |
4124 | | - i32.mul |
4125 | | - i64.extend_i32_s |
4126 | | - local.get $4 |
4127 | | - i32.const 60000 |
4128 | | - i32.mul |
4129 | | - i64.extend_i32_s |
4130 | | - local.get $3 |
4131 | | - i32.const 3600000 |
4132 | | - i32.mul |
4133 | | - i64.extend_i32_s |
4134 | | - local.get $6 |
4135 | | - local.get $1 |
4136 | 4144 | local.get $0 |
4137 | 4145 | call $~lib/util/string/strtol<i32> |
4138 | | - call $~lib/date/daysSinceEpoch |
4139 | | - i64.extend_i32_s |
4140 | | - i64.const 86400000 |
4141 | | - i64.mul |
4142 | | - i64.add |
4143 | | - i64.add |
4144 | | - i64.add |
4145 | | - i64.add |
| 4146 | + local.get $3 |
| 4147 | + local.get $4 |
| 4148 | + local.get $2 |
| 4149 | + local.get $5 |
| 4150 | + call $~lib/date/epochMillis |
4146 | 4151 | call $~lib/date/Date#constructor |
4147 | 4152 | global.get $~lib/memory/__stack_pointer |
4148 | 4153 | i32.const 32 |
|
4164 | 4169 | i32.const 0 |
4165 | 4170 | i32.store offset=8 |
4166 | 4171 | i32.const 1970 |
4167 | | - i32.const 0 |
4168 | 4172 | i32.const 1 |
| 4173 | + i32.const 1 |
| 4174 | + i32.const 0 |
4169 | 4175 | i32.const 0 |
4170 | 4176 | i32.const 0 |
4171 | 4177 | i32.const 0 |
4172 | | - f64.const 0 |
4173 | | - call $~lib/bindings/Date/UTC |
4174 | | - i64.trunc_f64_s |
| 4178 | + call $~lib/date/epochMillis |
4175 | 4179 | i64.eqz |
4176 | 4180 | i32.eqz |
4177 | 4181 | if |
|
4183 | 4187 | unreachable |
4184 | 4188 | end |
4185 | 4189 | i32.const 1970 |
4186 | | - i32.const 0 |
4187 | 4190 | i32.const 1 |
| 4191 | + i32.const 1 |
| 4192 | + i32.const 0 |
4188 | 4193 | i32.const 0 |
4189 | 4194 | i32.const 0 |
4190 | 4195 | i32.const 0 |
4191 | | - f64.const 0 |
4192 | | - call $~lib/bindings/Date/UTC |
4193 | | - i64.trunc_f64_s |
| 4196 | + call $~lib/date/epochMillis |
4194 | 4197 | i64.eqz |
4195 | 4198 | i32.eqz |
4196 | 4199 | if |
|
4202 | 4205 | unreachable |
4203 | 4206 | end |
4204 | 4207 | i32.const 2018 |
4205 | | - i32.const 10 |
| 4208 | + i32.const 11 |
4206 | 4209 | i32.const 10 |
4207 | 4210 | i32.const 11 |
4208 | 4211 | i32.const 0 |
4209 | 4212 | i32.const 0 |
4210 | | - f64.const 1 |
4211 | | - call $~lib/bindings/Date/UTC |
4212 | | - i64.trunc_f64_s |
| 4213 | + i32.const 1 |
| 4214 | + call $~lib/date/epochMillis |
4213 | 4215 | i64.const 1541847600001 |
4214 | 4216 | i64.ne |
4215 | 4217 | if |
|
0 commit comments