Commit Graph

131 Commits

Author SHA1 Message Date
gingerBill 5a28a7e0f5 Add intrinsics.type_field_index_of 2020-10-15 16:12:47 +01:00
gingerBill 1b4bccbc94 Add append_nothing 2020-10-08 12:23:44 +01: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 8f28312705 Fix pop behaviour, and improve assert messages by using #caller_location 2020-10-02 11:04:17 +01:00
gingerBill 252a864308 Reimplement the Windows OS dependencies in package runtime 2020-10-01 10:57:02 +01:00
gingerBill c35d533ce5 Replace the *_remove_range with procedures with remove_range 2020-09-30 12:38:40 +01:00
gingerBill fc4fdd588e Remove usage of do in core library 2020-09-23 17:17:14 +01:00
gingerBill 4cf240ca05 Fix odin/parser issues 2020-09-15 22:14:23 +01:00
gingerBill 9d91c46cb4 Move all os specific stuff for the runtime to one file 2020-09-15 12:19:56 +01:00
gingerBill f48a873954 Reorganize package runtime
Separates out the OS specific stuff into different files
2020-09-15 11:52:19 +01:00
gingerBill 0cd681e6b7 Expose runtime._startup_runtime to allow for freestanding targets in the future 2020-09-15 10:51:51 +01:00
gingerBill c1149dbdee Update math and math/linalg; add "pure_none" calling convention 2020-09-10 15:00:19 +01:00
gingerBill f5b8609160 Remove debug print 2020-09-07 12:15:54 +01:00
gingerBill 7f48cf8405 [REFLECTION BREAKING] Modify the internals of the map type to increase performance 2020-09-07 11:41:42 +01:00
gingerBill 9fd9130891 Add new core procedures: ordered_remove_range; unordered_remove_range; insert_at 2020-09-04 11:18:46 +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
Oskar Nordquist 36cac87387 Add .Thread_Id option to log package 2020-07-22 17:42:01 +02:00
gingerBill 5b7c83d871 Add strings.pop_byte strings.pop_rune 2020-07-08 23:15:48 +01:00
gingerBill 0ea64182f1 Begin work on windows 386 2020-06-29 17:35:33 +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 a6edcf4f18 Fix ABI typo bug; Add pop_safe and pop_front_safe 2020-06-22 21:03:57 +01:00
gingerBill 2b27300387 Fix LLVM code gen bug 2020-06-22 16:57:21 +01:00
gingerBill fb3aeccd36 Add built-in Maybe 2020-06-22 13:25:19 +01:00
gingerBill 9f596d6f34 Clean up package log code 2020-06-19 11:18:23 +01:00
gingerBill d80049bfd2 Change runtime.Type_Info_Enum_Value to be i64 internally rather than a union 2020-06-03 21:10:07 +01:00
gingerBill 1d7f99cbdf Remove mem_zero from make; Implement custom memset for windows amd64 2020-05-27 20:17:58 +01:00
gingerBill ff92eb9112 Relative pointers 2020-05-15 17:37:00 +01:00
gingerBill e0a242e9a1 Enforce explicit context definition for procedure calls 2020-05-14 13:44:28 +01:00
gingerBill f661d34049 Implement Explicit context creation #639 2020-05-14 00:13:26 +01:00
gingerBill ba4363d678 Improve append_elem(s) logic 2020-05-02 12:09:25 +01:00
gingerBill 9e698b720f Change behaviour for zero-sized value types of array-related types; Fix make behaviour to always zero memory 2020-04-12 10:41:44 +01:00
gingerBill 90593fe6ae Endian specific floating point types (e.g. f32be) 2020-04-11 21:34:55 +01:00
gingerBill 3f638f92e2 Fix -vet warning in core.odin for intrinsics not being used 2020-04-04 13:48:53 +01:00
gingerBill 93955a0fd8 Remove context.std* parameters; Fix unary boolean not 2020-03-19 15:03:02 +00:00
gingerBill 6151fdb324 Merge branch 'master' into llvm-integration 2020-03-04 19:27:01 +00:00
gingerBill 2fe0eaf2ad Fix formatting 2020-03-04 13:10:39 +00:00
gingerBill a27c68f526 Type_Info initialization 2020-02-29 11:12:37 +00:00
gingerBill 8f42958ba3 Fix __dynamic_array_reserve 2020-02-26 12:58:22 +00:00
gingerBill 4d7270cec9 Fix __dynamic_array_reserve to allow for zero sized elements 2020-02-26 12:55:56 +00:00
Mikkel Hjortshoej 9d5692ae68 Enhance logger interface with 'f' and not 'f' variants, also move level detection out 2020-02-10 01:26:04 +01:00
gingerBill 0f399a7294 Add union #maybe 2020-02-01 11:10:28 +00:00
Tetralux abe8789890 Fix make(map[K]V, 0) by ensuring reserve always sets an allocator
Currently, `make(map[K]V, 0)` asserts, because trying `reserve` zero items does not set the allocator; it early-outs.

`__dynamic_map_reserve` assumed that `__dynamic_array_reserve` would always set the allocator - even if given a desired capacity of `0`.

Rather than making `__slice_resize` just _also_ set the default allocator if there isn't one, this makes `__dynamic_array_reserve` always set the allocator, even if it is about to early out.
This is because users are lead to understand that `append` will set the allocator if one is not already set - `reserve` should work the same way.
2020-01-26 01:03:14 +00:00
gingerBill 5c7d6fcfd0 Improve minimum dependency for complex numbers and quaternion numbers. 2020-01-04 18:04:12 +00:00
Tetralux b32ef9e47b Fix make and reserve
- Set the allocator, even if memory allocation fails.
  Right now it doesn't, which means that if allocation fails, it'll use
  the context allocator instead. This memory will be leaked if the user
  doesn't understand that this happened.

- Only set len and cap of the array returned from make iif the memory allocation
  succeeded.
  This means that reserve will return false if you do this:
  ```
  a := make([dynamic]int, failing_allocator);
  if !reserve(&a, 5) do return; // or whatever indicates failure
  ```
2020-01-03 10:40:45 +00:00
gingerBill b8324b0776 Fix behaviour for make to return nil when alloc returns nil 2020-01-03 10:17:30 +00:00
Tetralux f6f10d10e8 Fix append_string 2020-01-02 11:38:25 +00:00
gingerBill 978d7fcb99 Fix typeid information for enumerated arrays 2019-12-31 16:54:50 +00: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 2252d992d7 Add -disable-assert to disable the code generation of the built-in run-time 'assert' procedure 2019-12-29 21:10:27 +00:00