ssa: move optimizations from P_BinaryOp to P_BinaryConstOp
[ajla.git] / ChangeLog
blob5a468bfe4408816e0d365e9c90ce1a6fb3318b21
1 Fix a bug on alpha that the code generator accidentally used saved register f2
3 === RELEASE 0.1.5 ===
5 Fix a bug that swapend.ajla was not present in the distributed archive. It
6 produced spurious make install error (that could be ignored).
8 Haiku support - the pthread implementation fails on Haiku (perhaps, there is
9 some signal race condition in the Haiku pthread implementation), so I added a
10 new file th_haiku.c.
12 Code generator improvements - variables' tags are checked when entering machine
13 code so that they don't have to be checked inside loops.
15 Fix code generator bugs on power1 and power2.
17 === RELEASE 0.1.4 ===
19 Use the _Float16 type if available
21 Use -fno-math-errno if the compiler supports it
23 Use the instructions for floating point rounding when available
25 Fix a bug in math_round
27 Define _TIME_BITS=64
29 Make it possible to compile Ajla with TCC
31 Swap the endianity of builtin.pcd when the user runs "make install", so that the
32 file can be mmapped on big-endian machines
34 Fix a memory leak introduced in the release 0.1.3
36 Introduce a "--save" argument that disables saving and loading cache
38 === RELEASE 0.1.3 ===
40 Implement API for signal handling.
42 Support Ctrl-Z for suspending text-mode applications.
44 Invalidate cached compilations when builtin.pcd changes.
46 Implement API for listing mount points.
48 Fix failure on NetBSD when walking the kernfs mount point, because it doesn't
49 support kqueue.
51 Introduce a "vselect" widget that displays vertical list of entries.
53 Incompatible FFI changes:
54 - Change the FFI interface, so that the destructor is freed explictly with
55   ffi_destructor_destroy.
56 - Delete the function ffi_call_function_pure - ffi_unsafe_get_world and
57   ffi_call_function should be used instead.
59 === RELEASE 0.1.2 ===
61 Fix a bug that the tag bit was not checked on the second argument of
62 len_at_least and len_greater_than - this resulted in incorrect result if the
63 value was a box or a thunk.
65 Optimization: don't check index against list length if it can be proved that the
66 index is smaller (such as "for i := 0 to len(l) do ...").
68 === RELEASE 0.1.1 ===
70 Save the JIT-generated machine code to the files in ~/.cache/ajla. This reduces
71 startup time.
73 Introduce stdlib/mutex.ajla
75 Fix crashes on alpha, loongarch64, mips.
77 Incompatible change: Fix misdesigned FFI interface - we need to pass the
78 destructor to the functions that manipulate memory allocated from the
79 destructor, so that the destructor is not freed prematurely. Previously, the
80 "keep" statement was used for this purpose, but it is not reliable.
82 === RELEASE 0.1.0 ===
84 Initial release
86 vim: textwidth=80