Daniel Kochmański
8c39ee9b50
[7] lcl_env as a vector: precise vector size
...
With this commit we allocate a correctly sized vector at the beginning and avoid
unnecessary resizing later.
2025-04-28 10:11:31 +02:00
Daniel Kochmański
92772b1afd
bytecmp: implement flat closures
...
This commit replaces capturing whole LEX with an explicit vector of closed
variables. We introduce a set of additional opcodes that deal with closed
entities. Locals are referred as lcl and closed variables as lex.
2025-03-27 22:45:34 +01:00
Daniel Kochmański
295dfc0cd8
printer: fix the write_ugly method for bclosure
...
We've made an implicit cast from bclosure to bytecodes, so instead of a name
we've printed bytecodes itself.
Except from thsi fix we also write the closure address to make it possible to
distinguish two different closures over the same function.
2024-12-18 10:47:17 +01:00
Marius Gerbershagen
741a01da09
reader: fix reading of bclosures
...
The syntax had been changed in commit
991bc3ab78 , but the reader macro
became broken in the process and commit
835e85bc99 removed the broken
parts. Since the reason for the change in the syntax is unclear,
go back to the old syntax.
2018-09-01 17:31:19 +02:00
Daniel Kochmański
ca0962cdb3
Printer addresses
2018-05-04 08:38:33 +00:00
Daniel Kochmański
5e8ec11bdd
cosmetic: fix indent (rest of C)
2016-05-06 08:41:52 +02:00
Matthew Mondor
8f07cd58d8
The ECL code no longer uses tabulator characters, they were replaced
...
by spaces.
A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
4d19a27424
cosmetic: untabify
...
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-21 14:38:20 +02:00
Juan Jose Garcia Ripoll
825fc8cbd3
Cnil and Ct are now part of legacy
2012-06-30 23:01:40 +02:00
Juan Jose Garcia Ripoll
64a9168434
CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix
2012-06-06 11:19:55 +02:00
Juan Jose Garcia Ripoll
036cb55928
Fixes to remove warnings about unused variables. Replaced some uses of @(return) with ecl_return*()
2012-04-10 23:20:40 +02:00
Juan Jose Garcia Ripoll
991bc3ab78
Changed reader/writer syntax for bytecodes so that shared constants remain shared.
2012-02-09 23:02:29 +01:00
Juanjo Garcia-Ripoll
a3726a2ecc
Changed the bytecodes compiler so that constants are stored in a vector and are shared by the main form and all its children (functions)
2012-02-06 17:06:14 +01:00
Juan Jose Garcia Ripoll
6b00c54dd3
Save locations also in bytecompiled code
2011-06-05 15:20:55 +02:00
Juan Jose Garcia Ripoll
79d8e9b569
Split printer into separate files, factorizing those for unreadable printing
2010-10-28 23:05:25 +02:00