updated CHANGELOG
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 15 Dec 2020 18:25:32 +0000 (12:25 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 15 Dec 2020 18:25:32 +0000 (12:25 -0600)
CHANGELOG
core/alloc.onyx

index 35ee25b3b925d8d785c0cf00022734f13a808d96..a2a8e0bc9ee604ef318a4f00d30b5d48e2ca6d08 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,10 +2,19 @@ Release v0.0.5
 --------------
 Additions:
 * 'abs' function in core/math.onyx.
+* --verbose prints statistics about the compilation including time taken, lines
+    processed and token processed.
+* 'read_word' in core.string.reader.
+* 'use' statements work on pointers to structures.
+* Better error reporting for invaild binary operators.
+* '--fun' flag displays a bar graph of where each of the entities in the compilation
+    pipeline are. Compiles the program slower purely to make it look better.
+* polymorphic procedures can be instantiated in many more places now due to clean up.
 
 Removals:
 * field accesses on things that are not lvals. This was a bug anyway, so it
     should not require any code changes, but the feature is gone.
+* i32map, strmap, ptrmap modules. Use generic map in map.onyx instead.
 
 Changes:
 * BREAKING: The type name 'string', and the package name 'str', have been swapped.
@@ -18,6 +27,9 @@ Changes:
 Bug fixes:
 * globals that were #foreign caused several bugs, which have been squashed.
 * field accesses can only happen on lvals.
+* Bitwise NOT on unsigned integers did not work.
+* 'use' statements now work in polymorphic procedures
+* resizing heap allocated memory at the end of memory would not grow underlying memory.
 
 
 Release v0.0.4
index 8c46aa5fe1d5fd9c9ac7c955da2fa3ca9c6e21da..c8574c23c4efc7e554aaafbda4faf2b7d7fd62b6 100644 (file)
@@ -103,8 +103,8 @@ heap_resize :: proc (ptr: rawptr, new_size: u32, align: u32) -> rawptr {
 
     // If we are at the end of the allocation space, just extend it
     if hb_ptr.size + cast(u32) ptr >= cast(u32) heap_state.next_alloc {
-        if new_size >= heap_state.remaining_space {
-            new_pages :: ((new_size - heap_state.remaining_space) >> 16) + 1;
+        if new_size - old_size >= heap_state.remaining_space {
+            new_pages :: ((new_size - old_size - heap_state.remaining_space) >> 16) + 1;
             if memory_grow(new_pages) == -1 {
                 // out of memory
                 return null;