58 Commits

Author SHA1 Message Date
dcode
adc2f7e26a more consistent naming, move libm 2019-06-02 18:05:14 +02:00
dcode
af00bdeefe use more useful defaults for -O, fix an utoa issue 2019-05-24 14:45:27 +02:00
dcode
51fdf9db4f fix 2019-05-23 03:08:25 +02:00
dcode
1cbf3fc885 fix rogue releases 2019-05-21 00:38:48 +02:00
dcode
da4a7751fd optimize logical and/or, initial null checking in flows 2019-04-09 03:04:45 +02:00
dcode
c16c19e18d unify runtime header 2019-04-08 23:22:13 +02:00
dcode
e1070cee86 rtti & refactoring 2019-04-06 20:17:48 +02:00
dcode
a9e4813798 implement __runtime_flags 2019-04-05 01:59:01 +02:00
dcode
25c5dfddad slim down runtime 2019-04-04 02:25:22 +02:00
dcode
e1bd0050e2 directize more (eliminate table use) 2019-04-02 16:18:44 +02:00
dcode
6bf8276746 Merge branch 'master' into runtime 2019-04-02 10:58:14 +02:00
dcode
3bcd32f3ba directize 2019-04-02 10:12:57 +02:00
dcode
1ada854830 some cleanup 2019-04-01 22:23:11 +02:00
Max Graey
abf3de9076 Fix implicit string to bool conversion (#567) 2019-03-31 20:00:54 +02:00
dcode
a3095478a3 Merge branch 'master' into runtime 2019-03-27 16:10:59 +01:00
dcode
b2adf8b1e2 Update dependencies and rebuild dist files 2019-03-27 15:50:05 +01:00
dcode
3146f8f9e0 use gc interface directly, document 2019-03-26 23:35:08 +01:00
dcode
7c0dc66849 guard, info on never null, more general array rt 2019-03-22 15:43:07 +01:00
dcode
81039c4167 FixedArray experimentation 2019-03-19 15:43:05 +01:00
dcode
0932cf17ed use overloads for checked access 2019-03-18 16:09:49 +01:00
dcode
ba4c00efbd clean 2019-03-18 00:40:55 +01:00
dcode
edb2299f13 fixes 2019-03-17 12:25:54 +01:00
Daniel Wirtz
4e1bba3a24
Use Binaryen's function signature naming scheme (#522) 2019-03-01 00:01:23 +01:00
dcode
7184db6dde Update Binaryen to latest and regenerate dist files 2019-02-28 18:26:04 +01:00
Max Graey
0041572052 Reuse respective opposite overload in std/string comparisions (#479) 2019-02-21 00:30:05 +01:00
Daniel Wirtz
2f1a6c44ce
Add SIMD prerequisites (#469) 2019-02-07 15:26:26 +01:00
dcode
cd1cfe6957 Update Binaryen to latest and rebuild dist files 2019-02-05 17:12:10 +01:00
dcode
20f4092eb2 Update Binaryen and other dependencies; Update dist files 2019-01-09 13:02:47 +01:00
dcodeIO
a661ff7d89 Update Binaryen to latest 2018-12-01 03:09:43 +01:00
Max Graey
6393921c12 Fix unsafeCompare (#336) 2018-11-19 12:23:45 +01:00
dcodeIO
4f95dce6e2 Do not emit debug info by default
This basically flips the --noDebug flag to become a --debug flag, so some optimizations, like inlining, aren't skipped by default, which might be unexpected.
2018-11-09 12:28:10 +01:00
Daniel Wirtz
2bdc2a72f1
Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
Max Graey
711f73b15d Implement String#split (#301) 2018-10-18 19:05:35 +02:00
Daniel Wirtz
f7c734789e
Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
dcodeIO
16d1a833dd Always add a null function at table index zero
This allows function references (a table index internally) to be nullable
2018-09-17 01:48:35 +02:00
dcodeIO
d90cd085e5 Update Binaryen 2018-09-13 23:10:49 +02:00
dcodeIO
4498b28442 Use outer-most identifier when resolving queued exports, fixes #248 2018-09-09 03:51:29 +02:00
dcodeIO
631478c7c9 Rework static memory segment creation; Fix stdlib gc hooks not marking own fields; Align everything to 8 bytes that might be touched by GC 2018-08-04 00:36:59 +02:00
Daniel Wirtz
dc0f271fc2
Initial GC integration (#196) 2018-08-02 18:23:02 +02:00
Max Graey
671121bf70 Implement String#padStart/padEnd; Refactor internal string copy, compare and repeat (#171) 2018-07-25 16:25:53 +02:00
Max Graey
298a8f1688 Add String.fromCodePoint and 16-bit string compare (#174) 2018-07-23 14:32:55 +02:00
dcodeIO
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +02:00
Max Graey
d7c1c608bd Implement itoa32/64 for base 10 (#151) 2018-07-13 15:40:37 +02:00
Max Graey
365884ff73 Add String#lastIndexOf and improve tests (#163) 2018-07-10 03:31:51 +02:00
dcodeIO
c6ec5e2832 Utilize Binaryen's -O4
When specifying -O3 or -Oz, asc now automatically increases the optimize level to 4, then including costly non-LLVM optimizations for blocky code, in turn achieving similar results as an LLVM-based generator.
2018-06-09 14:05:33 +02:00
dcodeIO
73417a9a06 Move 'abort' out of builtins and make it overridable
Now defaults to 'env.abort' as imported in lib/env.ts, but can be overridden through '--use abort=someThingElseOrNothingAtAll'
2018-05-21 18:48:29 +02:00
dcodeIO
6c0a5c47d9 Update Binaryen and take care of WebAssembly/binaryen#1547 2018-05-14 16:55:55 +02:00
dcodeIO
e415377cda Avoid trampolines where optional arguments are constant literals, see #102; Fix temporary local flags not being cleared; Fix inlined temporary locals not being free'd; Fix inlined flows not breaking after returns; Allow changetype of u32s, i.e. function pointers 2018-05-11 16:31:56 +02:00
dcodeIO
63aa648ace Slim down indexed access as far as currently possible
Interestingly, the same code written as statements is significantly slower. See notes.
2018-04-23 23:57:15 +02:00
dcodeIO
4026c087fd Export the trampoline and provide a helper for functions that take optional arguments 2018-04-17 16:04:29 +02:00