16 Commits

Author SHA1 Message Date
Gabriel Scherer
c99c947c18 compile.scm serialization: emit 32bit-format header when possible 2021-09-24 18:23:39 +02:00
Gabriel Scherer
8eb89941db compile.scm serialization: support smaller sizes, in particular 32bit compat 2021-09-24 18:23:04 +02:00
Nathanaël Courant
c68bec0f39 Optimize calls to primitives 2021-02-18 08:00:46 +01:00
Nathanaël Courant
64b1b0c402 miniml: output symbol table, handle uminus better, more primitives 2021-02-08 10:37:55 +01:00
Nathanaël Courant
b60b8bb356 Add a function executed at end of program (for flushing) 2021-01-11 12:20:11 +01:00
Nathanaël Courant
c80b7ee60f Fix incorrect computation of free variables for 'LLetrecfun 2021-01-08 12:35:23 +01:00
Nathanaël Courant
755ac6a4d4 General function application 2020-12-30 16:55:29 +01:00
Nathanaël Courant
d7f4e971a4 Add 'a ref and related functions to lib.ml 2020-12-30 16:19:22 +01:00
Gabriel Scherer
7caf12247f string patterns
(I believe that the small size increase in all tests is due to the
unconditional registration of "caml_string_equal" as an additional
primitive.)
2020-12-29 20:30:22 +01:00
Gabriel Scherer
66d2988b37 use standard names in compiler tests 2020-12-21 17:33:37 +01:00
Gabriel Scherer
57459d078d test/lib.ml: bind more standard primitives and definitions 2020-12-21 17:33:37 +01:00
Gabriel Scherer
d47ff5c47f substitution-on-the-fly as a generalization of the (let x = y in ...) optimization 2020-12-19 07:17:43 +01:00
Gabriel Scherer
5dc6313d54 opcodes arity compression 2020-12-18 23:48:14 +01:00
Gabriel Scherer
d5408c2a51 more functions.ml nitpicks 2020-12-17 14:32:13 +01:00
Gabriel Scherer
94387ffc7d test: split functions.ml into sections 2020-12-17 14:29:54 +01:00
Gabriel Scherer
48c4ad41e9 track the size of the produced bytecode files 2020-12-12 13:21:50 +01:00