Idris2/support
Hattori, Hiroki f016dad5cd
[RefC] Object Immortalization and Pre-Generation of Constants (#3242)
* [RefC] shrink value_header; object imortalized; stock well knwon values.

  * Shrink Value_Header to improve utilization of memory.
  * When refCounter reaches its maximum, the object is immortalized to
    avoid overflow. This immotalization is also used to represent
    statically allocated stock objects.
  * Prepare some commonly seen values and share it to improve memory usage.
  * Added debug code to dump memory stats.

* [RefC] Allocated constants statically; Predefined commonly seen values.

* Commonly seen values such as integers less than 100 are predefined and shared.
* Constant String, Int64, Bits64 and Double values are allocated statically as
  indestructible and shared.

* linter

* [RefC] make constants const.

* cleanup

* cleanup

* update CHANGELOG_NEXT

* [refc][test] revert debugging code

* Refactor constantName function in RefC.idr

Refactor constantName function to return Core String type
and handle unsupported types by throwing InternalError exception.

* lint

* fix typo in support/refc/memoryManagement.c

Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>

* [RefC] erase runtime error of constantName

* [RefC] Fixed the missing case expression coverage.

---------

Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>
2024-11-20 17:15:26 -06:00
..
c idris_support: fix environ for macOS (#3324) 2024-07-03 12:04:22 -05:00
chez [ performance ] Implement weak memoisation of lazy values for chez and racket (#2791) 2024-08-06 15:24:57 +01:00
docs Show module docstring for namespace indexes (#3351) 2024-07-25 13:18:46 +01:00
gambit [ performance ] Implement weak memoisation of lazy values for chez and racket (#2791) 2024-08-06 15:24:57 +01:00
js Fix file mode processing in support_system_file_popen 2024-01-04 20:00:50 +03:00
racket [ performance ] Implement weak memoisation of lazy values for chez and racket (#2791) 2024-08-06 15:24:57 +01:00
refc [RefC] Object Immortalization and Pre-Generation of Constants (#3242) 2024-11-20 17:15:26 -06:00
Makefile implement DESTDIR support for distros 2023-08-22 16:44:13 +01:00