summary refs log tree commit diff stats
path: root/lib/system
Commit message (Collapse)AuthorAgeFilesLines
* 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
* don't reuse code from 0.18.0skilchen2018-09-151-9/+2
|
* more efficient fix for #8961skilchen2018-09-151-0/+6
|
* Merge pull request #8966 from LemonBoy/fix-8964Andreas Rumpf2018-09-141-9/+3
|\ | | | | Fix hashing for codegenProc (sic) types
| * Fix hashing for codegenProc (sic) typesLemonBoy2018-09-141-9/+3
| | | | | | | | | | | | | | Since the name mangling is inhibited we should take the user-supplied name during the sighash computation. Fixes #8964
* | Merge branch 'devel' into araq-better-docgenAraq2018-09-142-15/+7
|\|
| * Always emit hti object types if needed (#8940)LemonBoy2018-09-111-1/+1
| | | | | | | | | | | | | | | | The compiler is now smart enough to emit types only if needed without all the importc tricks. This also fixes a codegen bug where, if all the stars align correctly, typeinfo doesn't include any definition of `TNimType` but uses it. Found by @skilchen in #8938
| * JS strings have no trailing zero anymore (#8936)LemonBoy2018-09-111-14/+6
| |
* | fixes #8961Araq2018-09-141-2/+2
|/
* system/excpt: nil is no longer vaild for seqs (#8825)alaviss2018-08-311-1/+1
|
* Allow Nimble to override the ``task`` template in nimscript. (#8798)Dominik Picheta2018-08-281-18/+18
|