aboutsummaryrefslogtreecommitdiff
path: root/std
AgeCommit message (Collapse)Author
2019-05-11Merge pull request #2449 from Sahnvour/directallocatorAndrew Kelley
Rework of windows' DirectAllocator
2019-05-11Merge pull request #2475 from LemonBoy/linux-wo-vdsoAndrew Kelley
Fix clock_gettime on systems without VDSO
2019-05-11Use unprotected heap when in single_threaded mode.Sahnvour
2019-05-11Implement Windows' DirectAllocator on top of VirtualAlloc and VirtualFree.Sahnvour
2019-05-11std: the failing allocator didn't actually count allocationsdaurnimator
Add a field '.allocations' to actually track the number of allocations. Additionally, only increment '.deallocations' when memory is freed
2019-05-11Fix more corner cases in LEB128 parsingLemonBoy
2019-05-11linux: Minor `zig fmt` induced reformattingLemonBoy
2019-05-11linux: Fix clock_gettime on systems w/o VDSOLemonBoy
2019-05-10Merge pull request #2465 from LemonBoy/builtins-for-wasmAndrew Kelley
A few builtins for wasm
2019-05-10Fix erroneous test caseLemonBoy
The *Mem variants cannot return EndOfStream and are generally unsafe to use. Proper order of checks, try both the variants and make sure they return the same error/result. Run the leb128.zig tests.
2019-05-10compiler-rt: Add __ashrti3LemonBoy
2019-05-10compiler-rt: Add __lshrti3LemonBoy
2019-05-10compiler-rt: Add __ashlti3LemonBoy
2019-05-10Use matching types when parsing fieldsLemonBoy
2019-05-10Fix minor bug in LEB128 parsingLemonBoy
2019-05-09fix std.os.copyFileAndrew Kelley
closes #2454
2019-05-08fix build on macOSAndrew Kelley
Sadly due to a workaround for LLD linker limitations on macOS we cannot put libuserland into an .a file; instead we have to use object files. Again due to linker limitations, bundling compiler_rt.o into another relocatable object also doesn't work. So we're left with disabling stack probing on macOS for the stage1 self-hosted code. These workarounds could all be removed if the macos support in the LLD linker improved, or if Zig project had its own linker that did not have these issues.
2019-05-08Merge pull request #2452 from LemonBoy/more-more-builtinsAndrew Kelley
More more builtins
2019-05-08add --bundle-compiler-rt function to link optionsAndrew Kelley
and use it when building libuserland.a The self-hosted part of stage1 relies on zig's compiler-rt, and so we include it in libuserland.a. This should potentially be the default, but for now it's behind a linker option. self-hosted translate-c: small progress on translating functions.
2019-05-08std.debug: fix stack trace iteration codeAndrew Kelley
Previously, the stack trace iteration code was using the number of frames collected as the number of frames to print, not recognizing the fixed size of the buffer. So it would redundantly print items, matching the total number of frames ever collected. Now the iteration code is limited to the actual stack trace frame count, and will not print duplicate frames. Closes #2447 Closes #2151
2019-05-09compiler-rt: add __floatsitfLemonBoy
2019-05-09compiler-rt: Add __aeabi_unwind_cpp_pr{0,1,2}LemonBoy
2019-05-09compiler-rt: Add __extendsfdf2LemonBoy
Add AEABI builtin __aeabi_f2d
2019-05-08compiler-rt: Add __floatdidfLemonBoy
Add AEABI builtin __aeabi_l2d
2019-05-08compiler-rt: Add __floatundidf & __floatunsidfLemonBoy
Add AEABI builtins __aeabi_ul2d, __aeabi_ui2d
2019-05-08compiler-rt: Add __truncdfsf2LemonBoy
Add AEABI builtin __aeabi_d2f
2019-05-08compiler-rt: More division intrinsicsLemonBoy
2019-05-08compiler-rt: Add __floatsidf & __floatsisfLemonBoy
Also add their AEABI aliases, __aeabi_i2f & __aeabi_i2d
2019-05-08Implement stack probes for x86/x86_64LemonBoy
Enabled on non-Windows systems only since it already requires stack probes.
2019-05-08Duplicate windows's DirectAllocator as HeapAllocator, which it is in reality.Sahnvour
2019-05-07Merge pull request #2427 from LemonBoy/linux-tlsAndrew Kelley
Proper support for TLS on linux
2019-05-07Merge pull request #2439 from LemonBoy/fixes-fixes-fixesAndrew Kelley
A batch of miscellaneous fixes
2019-05-07Add ARCH_SET_* definitions for x86_64LemonBoy
2019-05-07Less error messagesLemonBoy
Decrease the overall size of the binary, programming errors are caught with unreachable.
2019-05-07Always initialize the TLSLemonBoy
2019-05-07std: Implement on-demand TLS allocationLemonBoy
2019-05-07std: Implement TLS support for LinuxLemonBoy
Tested on x86_64, i386, ARM, AARCH64
2019-05-07Avoid endless recursion in __extendhfsf2LemonBoy
On some platforms the conversion ended up creating a dangerous recursive loop that ate all the stack. The conversion to f16 is also pointless since we're operating on the raw bits anyway.
2019-05-07Fix float comparison result in __aeabi_{f,d}cmp*LemonBoy
2019-05-07Add missing cast to usizeLemonBoy
2019-05-06Merge pull request #2354 from LemonBoy/iterate_phdr_implAndrew Kelley
dl_iterate_phdr implementation
2019-05-06Fix edge case in addXf3LemonBoy
The operands may be zero, use the wrapping operators and avoid a spurious integer-overflow error.
2019-05-06Fix definition of epoll_* struct on non x86_64 archesLemonBoy
2019-05-06Add a test caseLemonBoy
2019-05-05Merge pull request #2422 from tgschultz/stdlib-packed-int-arrayAndrew Kelley
Added PackedIntArray, PackedIntSlice to std
2019-05-05ReviewLemonBoy
2019-05-04Merge pull request #2374 from LemonBoy/fileszoff-reformAndrew Kelley
Make io offsets/sizes u64 instead of usize
2019-05-04std lib sleep APIs: add doc comments and no @intCastAndrew Kelley
The sleep APIs are now documented as having spurious wakeups and no precision of timing guaranteed. They also cannot fail. This commit makes the entire range of u64 legal values to pass to std.os.time.sleep and std.os.time.posixSleep. Values that do not fit in the native system APIs will cause a sleep for the longest possible duration and then be handled as a spurious wakeup.
2019-05-04Merge branch 'stdlib-32b' of https://github.com/LemonBoy/zig into ↵Andrew Kelley
LemonBoy-stdlib-32b
2019-05-04Merge pull request #2404 from squeek502/hash-map-ensure-capAndrew Kelley
std.HashMap: add public ensureCapacity fn