aboutsummaryrefslogtreecommitdiff
path: root/core/runtime
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch 'master' into llvm-integrationgingerBill2020-03-151-1/+1
|\
| * Fix #590gingerBill2020-03-151-1/+1
| |
* | Fix `llvm.memset` for both backendsgingerBill2020-03-081-5/+15
| |
* | Fix `context` system; add more to -show-more-timings for LLVM API; Add ↵gingerBill2020-03-081-10/+30
| | | | | | | | `ODIN_USE_LLVM_API` global constant
* | Merge branch 'master' into llvm-integrationgingerBill2020-03-051-5/+5
|\|
| * `x if cond else y` and `x when cond else y` expressionsgingerBill2020-03-051-5/+5
| |
* | Merge branch 'master' into llvm-integrationgingerBill2020-03-041-2/+2
|\|
| * Fix formattinggingerBill2020-03-041-2/+2
| |
* | Type_Info initializationgingerBill2020-02-291-1/+1
| |
* | Merge branch 'master' into llvm-integrationgingerBill2020-02-291-5/+6
|\|
| * Fix __dynamic_array_reservegingerBill2020-02-261-3/+6
| |
| * Fix __dynamic_array_reserve to allow for zero sized elementsgingerBill2020-02-261-3/+1
| |
* | Merge branch 'master' into llvm-integrationgingerBill2020-02-231-4/+5
|\|
| * Enhance logger interface with 'f' and not 'f' variants, also move level ↵Mikkel Hjortshoej2020-02-101-4/+5
| | | | | | | | detection out
* | Basic work on obj generationgingerBill2020-02-232-17/+17
|/
* Add `union #maybe`gingerBill2020-02-011-1/+2
|
* Fix `make(map[K]V, 0)` by ensuring `reserve` always sets an allocatorTetralux2020-01-261-2/+4
| | | | | | | | 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.
* Begin work on `-target:windows_386`gingerBill2020-01-181-0/+59
|
* Improve runtime/default_allocators.odingingerBill2020-01-111-2/+21
|
* Improve minimum dependency for complex numbers and quaternion numbers.gingerBill2020-01-041-0/+2
|
* Fix make and reserveTetralux2020-01-031-1/+3
| | | | | | | | | | | | | | | - 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 ```
* Fix behaviour for `make` to return `nil` when alloc returns `nil`gingerBill2020-01-031-0/+2
|
* Fix `append_string`Tetralux2020-01-021-1/+1
|
* Fix typeid information for enumerated arraysgingerBill2019-12-311-8/+7
|
* Fix memset for unixgingerBill2019-12-311-2/+2
|
* Use naive definition of `memset` for !windowsgingerBill2019-12-311-22/+7
|
* Make `mem.set` use `llvm.memset.p0i8.iXX`gingerBill2019-12-311-17/+20
|
* Fix new changes to runtime for unixgingerBill2019-12-311-9/+12
|
* Add new runtime files.gingerBill2019-12-312-0/+148
|
* Move definition of mem.Allocator and log.Logger to `package runtime`, to ↵gingerBill2019-12-312-56/+275
| | | | reduce import cycle magic
* Add `_tls_index` and `_fltused` for windows `-no-crt`gingerBill2019-12-291-0/+8
|
* Add `-disable-assert` to disable the code generation of the built-in ↵gingerBill2019-12-291-2/+5
| | | | run-time 'assert' procedure
* Make default `context.temp_allocator` thread safe when using `package thread`gingerBill2019-12-291-3/+6
|
* Enumerated arrays `[Enum_Type]Elem_Type`gingerBill2019-12-272-0/+17
|
* minor details ;)Patric Dexheimer2019-12-241-2/+2
|
* Fix `runtime.mem_copy_non_overlapping` to be like C's `memcpy`gingerBill2019-12-241-4/+4
|
* Implement `#complete switch` by default, replace with `#partial switch` #511gingerBill2019-12-222-4/+7
|
* Add udivmod128.odingingerBill2019-12-211-0/+180
|
* Add `-help` which prints information about the compiler flagsgingerBill2019-12-211-178/+0
|
* Replace `#vector[N]T` with `#simd[N]T` to reduce confusion #498gingerBill2019-12-151-1/+1
|
* Fix `append_elem_string`, againgingerBill2019-12-031-1/+1
|
* Fix `append_elem_string`gingerBill2019-12-031-1/+1
|
* Fix `append_elem_string`gingerBill2019-12-031-1/+2
|
* Make the `string` type elements "immutable", akin to `char const *` in CgingerBill2019-12-012-12/+35
| | | | Allows for extra security and optimization benefits
* #soa[dynamic]Type (Experimental)gingerBill2019-11-211-0/+196
|
* Prepare SOA Struct code for slices and dynamic arrays *to be implemented*gingerBill2019-11-192-7/+34
|
* Add new #soa and #vector syntaxgingerBill2019-11-171-3/+9
|
* Use `runtime.mem_copy` in `package me`gingerBill2019-11-031-0/+16
|
* SOA support of Structures and Arrays; Runtime information for SOA structs; ↵gingerBill2019-11-031-0/+3
| | | | fmt printing support for SOA structs
* Fix `runtime.cstring_len`gingerBill2019-10-291-3/+3
|