summary refs log tree commit diff stats
path: root/lib/system
Commit message (Collapse)AuthorAgeFilesLines
* even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-225-20/+12
|
* fixes merge conflictAndreas Rumpf2018-08-1910-25/+63
|\
| * Genode fixes (#8501)Emery Hemingway2018-08-162-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | * Genode fixes - wrap strings in "Genode::Cstring" when logging - define SIGABRT for Genode - disable GCC -fstack-protector - use log RPC for fatal messages - add --os:genode build to appveyor - define paramStr and paramCount * Select fixups for Genode POSIX
| * Merge branch 'devel' into araq-miscAndreas Rumpf2018-08-163-2/+28
| |\
| | * Haiku support for Nim (#8542)alaviss2018-08-143-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * posix_other: Haiku now has spawn.h This is added per https://dev.haiku-os.org/ticket/13446 * posix_other: Add Haiku specific Dirent members * cpuinfo: Add an implementation for Haiku * distros: Add basic Haiku support * encodings: update Haiku support * fenv, math: Haiku now provides libm * times: Add Haiku struct members * ansi_c, osalloc: Add Haiku constants * threads: Add Haiku support * testament: Haiku uses LIBRARY_PATH * nim.cfg: Update Haiku support libnetwork should only be linked if network functions are used * threads: Haiku does not support -pthread switch * tworkingdir: Haiku's env is in /bin * posix_other: add SIGKILLTHR for Haiku * sockets: link with libnetwork on Haiku * coro: correct ucontext.h location http://pubs.opengroup.org/onlinepubs/009696699/basedefs/ucontext.h.html * coro: ucontext backend is not available on Haiku Haiku doesn't provide the <ucontext.h> header, as it was removed from POSIX * coro: fix setjmp backend The compiler does not allow statements after a noreturn function * nativesockets: Haiku doesn't support AI_V4MAPPED * system: hostOS can contains "haiku" * os: add support for Haiku's packagefs packagefs is read-only, but there are writable holes to the underlying file system as well * os: update constant for Haiku
| * | make more tests greenAndreas Rumpf2018-08-131-1/+1
| | |
| * | Merge branch 'devel' into araq-miscAndreas Rumpf2018-08-101-1/+1
| |\|
| | * Update channels.nim (#8583)Grant2018-08-091-1/+1
| | | | | | | | | Fix typo in channels.nim
| * | fixes more nil string bugsAraq2018-08-081-0/+1
| | |
| * | fixes a long standing nil bug in substrAraq2018-08-081-0/+1
| |/
| * Iterator over heap instances (#8548)Emery Hemingway2018-08-071-8/+14
| | | | | | | | | | Provide "dumpHeapInstances" for iterating over type statistics of heaps. This can be used to present structured heap information as an alternative to "dumpNumberOfInstances".
| * fixes 7833 (#8533)Andreas Rumpf2018-08-052-10/+74
| | | | | | | | | | | | | | | | | | | | | | * fixes #7833; still to-do: fix setLen * make tests green again * also fixes setLen and string concats; refs #7833 * change formating to avoid a compiler warning * emit the write barrier also for addChar * fixes yet another regression * make setLengthStr compile for the old version * make growobjcrash complete earlier
| * Try to let memTracker compile (#8502)Christopher Dunn2018-08-052-11/+11
| |
* | make at least bootstrapping workAraq2018-08-056-10/+102
|\ \
| * | make setLengthStr compile for the old versionAraq2018-08-041-3/+2
| | |
| * | Merge branch 'devel' into araq-fixes-7833Araq2018-08-041-0/+8
| |\|
| | * make 'echo' threadsafe on Windows; fixes #8511Araq2018-08-041-0/+8
| | |
| * | fixes yet another regressionAraq2018-08-041-3/+12
| | |
| * | Merge branch 'devel' into araq-fixes-7833Araq2018-08-041-1/+2
| |\|
| | * fixed #7894 (#8496)jcosborn2018-08-011-1/+2
| | | | | | | | | make system tests run properly
| * | WIP: avoid using the old growObj in order to fix the newly introduced seq leaksAraq2018-08-031-6/+59
| | |
| * | fixes #7833; still to-do: fix setLenAraq2018-07-301-1/+4
| |/
| * Added c_abort to ansi_c (#8449)Yuriy Glukhov2018-07-301-0/+3
| |
| * Implements alloc/dealloc counters for better leak debugging. (#8384)Dominik Picheta2018-07-212-0/+16
| |
* | WIP: nothing worksAndreas Rumpf2018-08-051-4/+5
| |
* | --gc:destructors: next steps; WIPAndreas Rumpf2018-07-212-18/+18
| |
* | fix merge conflictAndreas Rumpf2018-07-184-3/+52
|\|
| * Don't depend on string.h in codegen (#8299)Yuriy Glukhov2018-07-135-4/+53
| |
* | WIP: strings/seqs based on destructorsAndreas Rumpf2018-07-171-1/+0
| |
* | more progress on destructor based stringsAndreas Rumpf2018-07-138-61/+54
| |
* | system.substr is not implemented with compilerProcs anymoreAndreas Rumpf2018-07-111-3/+7
| |
* | mmdisp: code cleanupsAndreas Rumpf2018-07-111-64/+59
| |
* | string comparisons don't have to know the strings representationAndreas Rumpf2018-07-101-21/+8
| |
* | refactorings in preparations for the new runtimeAndreas Rumpf2018-07-102-285/+294
|/
* Merge branch 'devel' of github.com:nim-lang/Nim into araq-develAraq2018-07-061-29/+103
|\
| * Rewrite the memory management code for Nintendo Switch (#8169)Joey2018-07-051-29/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite the memory management code for Nintendo Switch The first implementation was naive and did not account for multiple memory allocations. However, this implementation may still be incomplete. Currently, when running applications, the code runs fine. When the application is exited via code (the end of the program is reached or quit() is called), the Switch will crash. Not sure why this happens, but I suspect it is from Nim memory allocations. I suspect the memory allocations because when I compile the helloworld application without any Nim allocations (just C function calls) and use `--gc:none` as a compile option, the application exits fine.
* | gc_common: minor reformatingAndreas Rumpf2018-07-011-2/+2
| |
* | codgen refactoring: prepare for alternative string/seq implementationsAndreas Rumpf2018-06-291-2/+6
|/
* Nintendo switch support (#8069)Joey2018-06-276-5/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | * Add config section for Nintendo Switch * Add compiler configuration for Nintendo Switch and it's CPU * Add specific lib code for Nintendo Switch * Add GC support for Nintendo Switch * Update changelog for Nintendo Switch * Update changelog with more info about fixed paths * Cleaned up GC memory management a bit * Relocate docs for Switch * Rename aarch64NoneElfGcc to nintendoSwitchGCC * Remove armv8a57 * Fix installer.ini * Reuse code in linux and amd64 * Add posix defs for nintendo switch * Add more defined sections for nintendo switch * Remove old comment * Add what's not supported for Nintendo Switch docs * Make nintendoswitch == posix * Remove DEVKITPRO references from nim.cfg * Make PR extccomp changes * Remove Result type alias * Add separate switch consts file * Update docs for nintendo switch * Fix travis errors with undefined consts and add correct wait.h procs
* stdlib workZahary Karadjov2018-06-161-1/+1
|
* hotfix 3221ac094398492e09ea618638204793b0990eca broke gc:regions/aka gc:stack byCharles Blake2018-06-131-1/+2
| | | | | underallocating for sequences of any type larger than 1 byte. This does the necessary multiply to restore basic functionality.
* fixes merge conflictAndreas Rumpf2018-06-113-117/+6
|\
| * Merge pull request #7873 from ehmry/GenodeEnvAndreas Rumpf2018-06-093-117/+6
| |\ | | | | | | Native access to Genode environment
| | * Native access to Genode environmentEmery Hemingway2018-06-073-117/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a 'GenodeEnv' type and a 'componentConstructHook' to the system module. The 'componentConstructHook' allows for detection of POSIX style programs that exit implicitly or native Genode components that initialize to serve RPC requests and OS signals. This hook takes a 'GenodeEnv' argument so that the environment interface is passed cleanly to application code after globals are initialized. This is an typed pointer to a C++ object, procedures for accessing the environment will be available from a Nimble library and not included in the standard library. The standard library has an internal pointer to the environment object but this is not for external use, the undocumented global environment pointer has been removed.
* | | fixex merge conflictsAraq2018-06-083-1/+8
|\| |
| * | fixes seq copying in channels for --gc:regionsAraq2018-06-071-1/+1
| |/
| * Merge pull request #7770 from yglukhov/yield-in-tryAndreas Rumpf2018-06-052-0/+7
| |\ | | | | | | Yield in try
| | * Merge branch 'devel' into yield-in-tryYuriy Glukhov2018-05-151-2/+2
| | |\
| | * | Yield in tryYuriy Glukhov2018-05-092-0/+7
| | | |
* | | | fixed merge conflictAndreas Rumpf2018-06-044-8/+8
|\| | |