53 Commits

Author SHA1 Message Date
gingerBill
3e7e779abf Replace core:* to base:* where appropriate 2024-01-28 22:18:51 +00:00
Colin Davidson
991c1d4446 add resize_non_zeroed to query features 2024-01-17 13:27:19 -08:00
Colin Davidson
58e4a011c7 add non-zeroing append and resize 2023-12-04 00:08:13 -08:00
flysand7
270348b112 [core]: Remove do keyword from the core library 2023-11-11 20:36:38 +11:00
Benjamin Findley
7e4a65114a fix whitespace 2023-08-15 08:49:27 -07:00
Benjamin Findley
38e06f13d6 prevent potential segfaults when using large allocations from dynamic pool 2023-08-11 11:49:31 -07:00
gingerBill
44ea82f845 Clean up usage of using throughout core and vendor 2023-07-31 11:46:40 +01:00
gingerBill
3d9328fd79 Default to panic allocator for wasm targets 2023-06-26 15:55:52 +01:00
gingerBill
762747273e Add mutex to mem.Tracking_Allocator 2023-05-25 11:58:02 +01:00
gingerBill
600c97cc0f Add missing Allocator_Error and @(require_results) to many procedures 2023-05-22 11:34:38 +01:00
hikari
d904ae5191 Replaced opaque bit-shifts with readable constants for memory units 2022-12-24 08:27:15 +02:00
gingerBill
15bbdb2030 Merge pull request #2181 from odin-lang/map-dev
New `map` internals
2022-11-17 15:29:28 +00:00
Michael Freundorfer
f323a179d9 Handle freeing nil in scratch allocator 2022-11-14 21:44:20 +01:00
gingerBill
f2f2d532f5 Add extra calls to Tracking_Allocator 2022-11-09 22:31:49 +00:00
gingerBill
366779f8c7 Fix bug with allocator not getting set on a map 2022-11-08 16:06:10 +00:00
gingerBill
7f601c9535 Add Allocator_Mode.Alloc_Non_Zerored 2022-09-22 12:12:57 +01:00
gingerBill
147848ca20 Clean up naming conventions 2022-08-08 12:30:58 +01:00
gingerBill
ca1f419dc2 Merge pull request #1819 from IanLilleyT/no_query_info
Allocator: tidying up Query_Info return values when not part of Query_Features
2022-06-12 17:15:08 +01:00
Ian Lilley
dda2ed290a tidying up Query_Info return value when not in query features 2022-06-01 22:40:39 -04:00
Ian Lilley
66de1856e3 tighter allocation for arena allocator 2022-06-01 21:37:05 -04:00
gingerBill
e10105a780 Correct logic for tracking allocator proc for freeing a nil pointer 2022-05-15 23:50:51 +01:00
gingerBill
5451c9672d Fix dynamic_pool_destroy 2022-05-15 23:48:11 +01:00
Jeroen van Rijn
fe442d7c0c [mem] Fix Dynamic_Pool. 2022-05-05 10:45:15 +02:00
Jeroen van Rijn
7654afc2db Revert "Update mem.nil_allocator to match the same in runtime"
The change broke JSON unmarshaling.

This reverts commit 4484a3433d.
2022-04-19 15:01:54 +02:00
gingerBill
4484a3433d Update mem.nil_allocator to match the same in runtime 2022-03-31 15:03:56 +01:00
gingerBill
251da264ed Remove unneeded semicolons from the core library 2021-08-31 22:21:13 +01:00
gingerBill
4ccf135892 Unify new/make the internal logic between runtime and mem 2021-08-23 12:35:29 +01:00
gingerBill
f0437a4242 Enforce core:builtin and core:intrinsics for imports 2021-08-21 13:44:16 +01:00
gingerBill
4d00c2b800 Allocator_Error.Mode_Not_Implemented; Minor improvement to map runtime procedures 2021-08-08 14:29:45 +01:00
gingerBill
3e7aabe6d8 Change uses for parapoly records to use $ always 2021-06-14 11:43:35 +01:00
gingerBill
c3b3194a00 Update builtin procedures to support the new allocator features (without breaking other code) 2021-04-19 22:44:20 +01:00
gingerBill
f98c4d6837 Improve the Allocator interface to support returning Allocator_Error to allow for safer calls
Virtually all code (except for user-written custom allocators) should work as normal. Extra features will need to be added to make the current procedures support the `Allocator_Error` return value (akin to #optional_ok)
2021-04-19 12:31:31 +01:00
gingerBill
359ae29d98 Minor fixes 2021-03-18 13:25:41 +00:00
gingerBill
b727b6438b Minimize unneeded casts 2021-03-03 14:31:17 +00:00
Luka Aleksić
00ebc877a1 Tracking allocator now tracks bad free calls 2021-01-21 00:19:56 +01:00
gingerBill
54fbdabc38 Add experimental -insert-semicolon functionality to tokenizer and parser 2020-11-01 15:10:06 +00:00
gingerBill
6eeb12a986 Improve default temp_allocator; make nil loggers do nothing; improve mem.Scratch_Allocator behaviour 2020-10-02 16:06:55 +01:00
gingerBill
a65553293f Add mem.Small_Allocator 2020-10-02 11:09:36 +01:00
gingerBill
e7f54d25d6 Add mem.Allocator_Query_Info and mem.query_info 2020-08-16 23:05:33 +01:00
gingerBill
033b46def8 Add mem.Allocator_Mode.Query_Features, mem.Allocator_Mode_Set, mem.query_features` 2020-08-16 22:07:40 +01:00
gingerBill
1f571f48e5 Add mem.Tracking_Allocator 2020-08-16 21:29:14 +01:00
gingerBill
d1d5f61230 Add intrinsics.alloca 2020-08-02 14:59:39 +01:00
gingerBill
86448ee044 Add raw_data to replace cases in which &x[0] was used 2020-06-29 15:58:24 +01:00
gingerBill
59a0bbb385 Improve termination rules checking for missing return; Make diverging procedure -> ! be terminators 2020-06-06 15:16:24 +01:00
gingerBill
ab52f8d795 Move definition of mem.Allocator and log.Logger to package runtime, to reduce import cycle magic 2019-12-31 12:15:19 +00:00
gingerBill
a8a4dc1eb1 Make default context.temp_allocator thread safe when using package thread 2019-12-29 18:08:48 +00:00
Tetralux
c9723e2dc0 Fix mem.Arena 2019-12-15 21:36:40 +00:00
gingerBill
89ccb5b99f Add assert into scratch_allocator_proc to prevent initialization cycles #504 2019-12-15 11:20:06 +00:00
gingerBill
162c87b1b8 Minor code clean-up 2019-07-28 18:44:50 +01:00
gingerBill
f25818e923 Make procedure parameters just named values rather than copied variables 2019-07-15 21:18:37 +01:00