summary refs log tree commit diff stats
path: root/lib/system
Commit message (Collapse)AuthorAgeFilesLines
* fix #10488 GC memory leak regression (#10498)Timothee Cour2019-01-301-1/+4
| | | | | | * fix #10488 GC memory leak regression * re-enable gch.stack.bottom.repr but only inside when defined(logGC)
* gc: destructors is beginning to work (#10483)Andreas Rumpf2019-01-293-15/+30
| | | | | | | | | | | | | | | | * kochdocs.nim: code cleanup * docgen: nicer indentation * parser.nim: code cleanup * fixes #10458 * make tests green again * make =destroy mixins * gc:destructors: produced C code is almost working * --gc:destructors simple program compiles (but leaks memory) * gc:destructors make examples compile in C++ mode * destructors: string implementation bugfixes * strs.nim: minor code cleanup * destructors: builtin seqs are beginning to work * remove debugging helpers
* Add link to nims.html (#10472) [ci skip]Federico Ceratto2019-01-271-0/+1
|
* Increase verbosity of logGC (#10449)Matt Haggard2019-01-261-9/+16
| | | | | | * Increase verbosity of logGC * Remove & c.repr to avoid re-entering the GC
* gc:regions: undo the regression introducing changesAraq2019-01-251-2/+2
|
* excpt.nim: code cleanup, don't produce nimFrame in -d:release modeAraq2019-01-231-21/+15
|
* OutOfMemError is never raised so there is no need to check for it (produce ↵Araq2019-01-231-13/+6
| | | | less code)
* make --define:noSignalHandler compile againAraq2019-01-221-1/+1
|
* Fix corner case of checked div/mod on x86 (#10406)LemonBoy2019-01-221-15/+29
| | | Fixes #10377
* allocators: introduce --define:nimMinHeapPages for tuning mmap calls (omg ↵Andreas Rumpf2019-01-192-6/+29
| | | | they are slow on OSX...)
* Disable interior pointer checking by default for the Boehm GC. (#10316)Reimer Behrends2019-01-151-0/+3
| | | | | | | | | | | | | | | The Boehm GC only needs interior pointer checking if pointers in global variables or on the heap point to the interior of an object rather than the beginning. If this does not happen, then checking for interior pointers causes additional overhead, in particular because any objects whose sizes are an exact multiple of two words gain another two words of padding, wasting memory. If checking of interior pointers is still desired, this can be achieved by setting the environment variable GC_ALL_INTERIOR_POINTERS. Pointers on the stack will always be treated as potential interior pointers, as compiler optimizations may advance the only live reference to a point past the beginning of an object.
* Add stdin read support to nimscrit #3983 (#10292)genotrance2019-01-141-3/+26
|
* fixes #10271 [backport]Araq2019-01-131-1/+2
|
* make system.task compatible with NimScript; refs #10254Araq2019-01-131-2/+3
|
* make the stdlib work with the changed docgenAraq2019-01-111-1/+1
|
* add unsetControlCHook to remove a Ctrl-C hook after it was set (#7267)Vindaar2019-01-102-0/+6
| | | | | | | | | * add unsetControlCHook to remove a Ctrl-C hook after it was set Adds the inverse proc to setControlCHook in order to lift a Ctrl-C hook after it has been set. * remove check for noSignalHandler in system/excpt.nim
* add `isNamedTuple`; make $(1, 2) be (1, 2) instead of (Field0: 1, Field1: 2) ↵Timothee Cour2019-01-082-1/+20
| | | | | | | | | | | | | which leaked implementation detail (#10070) * add `isNamedTuple`; make $(1, 2) be (1, 2) instead of leaking implementation detail (Field0: 1, Field1: 2) fixes this: #8670 (comment) /cc @alehander42 @Vindaar @mratsim * Note: isNamedTuple is useful in other places, eg #10010 (comment) * move isNamedTuple to helpers.nim to avoid exposing new symbol to system.nim * remove workaround in tests/vm/tissues.nim failing test now that #10218 was makes it work
* system/strmantle: avoid leaking docs to system.nim [ci skip] (#10233)alaviss2019-01-081-1/+1
| | | thanks @timotheecour for spotting this
* fix system.nim documentations (#10168)alaviss2019-01-041-2/+2
| | | | | * system: fix nimGC_getStackBottom doc * system/helpers: avoid leaking docs to system
* Guard against null exception (#10162)rec2019-01-041-1/+1
|
* `checkErr` now shows actual system error msg instead of unknown error (#9987)Timothee Cour2018-12-271-3/+14
|
* GC: avoid pathological behaviour; fixes #10040 [backport] (#10052)Andreas Rumpf2018-12-201-9/+9
|
* Give better error message when profiler and memProfiler used at same time ↵Neelesh Chandola2018-12-191-0/+3
| | | | | | | | (#9948) * Give better error message when profiler and memProfiler used at same time * Move to profiler.nim
* see what breaks with a global config.nims (#10016)Andreas Rumpf2018-12-181-1/+1
|\ | | | | | | | | | | * see what breaks with a global config.nims * make tests green with a global config.nims file
| * make tests green with a global config.nims fileAraq2018-12-171-1/+1
| |
* | add `getCurrentCompilerExe` to vmops (eg allows to get nim compiler at CT); ↵Timothee Cour2018-12-181-0/+1
|/ | | | add tests for vmops (#9925)
* fixes #9420Araq2018-12-161-5/+6
|
* timers.nim: avoid parser warningAraq2018-12-141-1/+1
|
* cleanup of excpt.nimAndreas Rumpf2018-12-111-1/+4
|
* Merge pull request #9923 from stefantalpalaru/calldepthAndreas Rumpf2018-12-111-3/+5
|\ | | | | replace misleading "stack overflow" message when reaching Nim's call depth limit
| * replace misleading "stack overflow" message on call depth limitȘtefan Talpalaru2018-12-101-3/+5
| | | | | | | | | | | | | | The new error message looks like this: "Error: call depth limit reached in a debug build (2000 function calls). You can change it with -d:nimCallDepthLimit=<int> or switch to a release build with -d:release."
* | refs #9880 show index and bound in lots of `index out of bounds` errorsTimothee Cour2018-12-092-1/+13
|/
* Fix fat pointers, object copying, magic double evals on JS (#9411) [backport]rec2018-12-042-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a test for issue #9389 * Fixes #9389. * Make object contructors copy objects properly by checking whether the expressions passed to them don't need to be copied. * Make mArrToSeq implementation actually check if a copy needs to be made. * Avoid unnecessary copy in mChr impl * Assume set constructor elements need no copy * Add a test for issue #9410 * Add a test * fix passing fat pointers (#9410) * Enhance tests * More tests and fixes * Add more (failing) tests [ci skip] * Added equality operator for fat pointers, more tests and fixes * Fix printing uninitialized strings * Fix mInc, mDec double eval, add more tests * Tests * Refactored, fixed multiple evals, revamped the tests, added missing ops * Fix ups * Fix #9643 and #9644 * add pointer normalization
* Remove dead code (#9777)Jacek Sieka2018-11-265-147/+30
| | | | | | | | | * gc/gc2: remove unused ref counting stuff * also removes some false threading support - hasSharedHeap is always false in gc/gc2 * gc: remove some threading cruft * remove asgnRefNoCycle * compiler: remove TLoc.dup (unused)
* don't raise exception in the default handler (#9783)alaviss2018-11-222-8/+8
| | | fixes #9657
* removes deprecated T/P typesAraq2018-11-1611-23/+2
|
* make testament compile again with -d:nimCoroutinesAraq2018-11-151-21/+21
|
* gc_common: fixes a typoAndreas Rumpf2018-11-151-19/+19
|
* deprecated ospaths (#9665)Andreas Rumpf2018-11-092-2/+3
|
* change system.nim to adhere to the style guideAraq2018-10-301-8/+8
|
* Implements #9434. Minimal Stacktrace for Exceptions in release mode (#9480)cooldome2018-10-281-1/+9
| | | * Fixes #9434
* Fix printing and comparing uninitialized stringsrecloser2018-10-211-0/+3
|
* fixes #9456 by only calling `c_fclose` if non nilVindaar2018-10-201-1/+4
|
* [nimscript] document currentSourcePath in thisDir (#9402)Timothee Cour2018-10-181-1/+3
|
* No setjump in GC for emscripten/wasm (#9386)Yuriy Glukhov2018-10-171-14/+21
|
* Fix repr() for UncheckedArray (#9385)LemonBoy2018-10-162-1/+3
|
* Avoid memory allocation during dynlib loading (#9320)LemonBoy2018-10-121-4/+4
| | | | | | | By using `write` instead of `rawWrite` we'd end up asking the compiler to generate the GC dynlib _while_ we were already generating another dynlib! Fixes #9123
* gogc: GCC-8.2.0 compatibility and other improvements (#9211)Ștefan Talpalaru2018-10-112-107/+55
| | | | | | | | - Go's write barriers are now plugged-in in all the relevant points - "gcGo" is correctly classified by usesWriteBarrier() - some gogc structures and functions now use golib wrappers to keep GCC version-specific conditions out of the compiler/stdlib code - we no longer allow mixing the C malloc with Go's - fix a problem with string copying
* Add procs to retrieve project name, directory and full path to nimscript (#9274)Solitude2018-10-111-0/+12
|
* Fix linking issue in cpp codegenLemonBoy2018-09-191-1/+5
| | | | | | | Declare the root symbol only once and have the other modules depending on it emit an `extern` declaration. Fixes #9013