Commit Graph

5 Commits

Author SHA1 Message Date
Edwin Brady
26a47ddafe
Make prim_js2idris_array iterative (#2267)
I was getting a stack overflow on the tailrec002 test, caused by this
primitive being recursive. I've made it iterative. I'm no JS expert but
I've tested its behaviour against the old version.
2022-01-16 19:15:26 +00:00
stefan-hoeck
281ae86ece [ fix ] string casts on js backends 2021-09-10 08:48:29 +01:00
Stefan Höck
031508a790
[ performance ] Common subexpression elimination (#1869)
* [ wip ] common subexpression elimination

* [ performance,js ] lazy initialization

* [ fix ] return filtered usage map

* [ doc ] annotated Compiler.Opts.CSE

* [ doc ] some more code annotations

* [ doc ] fix typo

* [ doc ] of course I had some help

* [ wip ] CSE optimize additional IRs

* [ performance ] allow lazy thunks to be garbage collected

* [ fix ] added GlobalDefs for extracted sub expressions

* [ cleanup ] pass compiled defs around explicitly

* [ cleanup ] dont cse-analyze main expression twice
2021-09-02 06:47:35 +01:00
Stefan Höck
2465418610
[ fix ] fix #1839 (#1857)
* [ fix ] fix #1839

* [ test ] console width 0 in test
2021-08-24 15:43:22 +01:00
Stefan Höck
599d0635e9
[ refactor ] JS backend overhaul (#1609) 2021-07-10 11:15:21 +01:00