Commit Graph

598 Commits

Author SHA1 Message Date
Michał Zieliński
26f2bb0eab add support for uint32 and uint64 in repr 2016-01-16 17:06:03 +01:00
Andreas Rumpf
72f804671d do not print spurious warnings when dlopen fails; can be re-enabled with -d:nimDebugDlOpen 2015-12-29 20:39:52 +01:00
Dominik Picheta
a01eb098f1 Task proc in nimscript module will now export the proc it creates. 2015-12-24 17:09:58 +00:00
Andreas Rumpf
f75d11193a modified the integrated profiler to hopefully produce more reliable results 2015-12-18 01:47:39 +01:00
Yuriy Glukhov
62422b93c6 Fixed copying of nil seq in JS 2015-12-16 15:25:58 +02:00
Dominik Picheta
60b23d1f7a Merge pull request #3595 from dfdeshom/devel
Print out more detailed error messages when compilation fails
2015-12-04 15:27:06 +00:00
Araq
760242b870 removes 'x is iterator' special casing in the language 2015-12-03 01:08:03 +01:00
Araq
076b809677 set debug switch to false again 2015-12-01 00:53:30 +01:00
Araq
af29ea1ea2 proper color flipping 2015-12-01 00:53:30 +01:00
Araq
10530add48 next steps for the GC 2015-12-01 00:53:30 +01:00
Araq
9ed635d5c0 only mark roots when marking 2015-12-01 00:53:30 +01:00
Araq
070403ca5e first compiling version of the new GC 2015-12-01 00:53:30 +01:00
Araq
217e0ab6e9 lambda lifting support for iterToProc plugin 2015-12-01 00:53:30 +01:00
Araq
d7433d02bc fixes typo 2015-12-01 00:53:30 +01:00
Araq
9d1f197773 added CellSetIter for git's history 2015-12-01 00:53:30 +01:00
Araq
a1739455d3 first version of the new hard realtime GC 2015-12-01 00:53:30 +01:00
dfdeshom
5b35efe5b7 Print out more detailed error messages when compilation fails 2015-11-26 12:23:26 -06:00
Yuriy Glukhov
0abfbf8f0d Removed Node, NodeType and Document definitions from jssys. 2015-11-25 16:37:36 +02:00
jyelon
e8bc19f79c Add 'auto-decoration' to nimGetProcAddr
Maintainers of win32 DLLs can opt to provide libraries with
'decorated' function names (Google "stdcall name decoration").  To
pull a function pointer out of one of these DLLs, you have to pass a
decorated name to getProcAddress.  This is painful for the authors
of NIM DLL wrappers - they have to pass manually-decorated strings
to "importc", but only on win32.

This commit adds auto-decoration to nimGetProcAddress.  This function
will probe the DLL for the undecorated name, and if that fails, it
will automatically add decoration and try again.  That way, the author
of the wrapper doesn't have to deal with it.
2015-11-11 21:55:33 -05:00
Araq
5c8342eef9 Nimscript fixes 'cpFile' typo 2015-11-03 14:52:36 +01:00
Adam Strzelecki
a02359b4e1 system/dyncalls: OS X is already handled as posix
So elif defined(mac) has absolutely no effect, also this block uses some legacy
discouraged NSCreateObjectFileImageFromFile function.
2015-10-22 20:40:02 +02:00
Araq
03550f14f8 createThread is more convenient to use with a proc taking no arguments 2015-10-19 16:09:35 +02:00
Yuriy Glukhov
2166b7bc46 Fixed ret by var in js 2015-10-15 16:04:53 +03:00
Araq
8be9e46403 udpated the compiler and tester to use getOrDefault 2015-10-13 14:10:33 +02:00
Araq
967c20743a Merge branch 'gc-fixes' of https://github.com/rbehrends/Nim into rbehrends-gc-fixes 2015-10-12 17:34:44 +02:00
Andrey Sobolev
d1b67cb9bb Merge remote-tracking branch 'nim-lang/devel' into emscripten-support 2015-10-06 10:55:52 +06:00
Araq
28b1340f94 fixes 'line too long' warning 2015-10-03 23:19:14 +02:00
Andrey Sobolev
4c53a3a7a5 Merge remote-tracking branch 'nim-lang/devel' into emscripten-support 2015-10-01 22:08:29 +06:00
Andreas Rumpf
1a63e630ae Merge pull request #3345 from rbehrends/no-unmap
Add option to disable munmap() use in the allocator.
2015-09-30 21:10:36 +02:00
Andrey Sobolev
4351c62161 Merge remote-tracking branch 'nim-lang/devel' into emscripten-support 2015-09-30 14:23:25 +06:00
Araq
1b7d8246c1 NimScript: setCommand takes an optional project filename 2015-09-29 20:44:12 +02:00
Reimer Behrends
9ea99dbf36 Add option to disable munmap() use in the allocator.
When compiling with '-d:nimAllocNoUnmap', the allocator will not
attempt to return large chunks to the OS. For certain allocation
behaviors, this can be a significant speedup.
2015-09-18 14:05:04 +02:00
Andrey Sobolev
bbf77e1d23 Merge remote-tracking branch 'nim-lang/devel' into emscripten-support 2015-09-15 14:13:25 +06:00
Yuriy Glukhov
6ac2ba1223 Uint64 to string in pure nim. array[char] to string fixed in vm. 2015-09-14 20:32:09 +03:00
Andrey Sobolev
3be1267cbd Change TAddress to ByteAddress 2015-09-14 11:51:21 +06:00
Andrey Sobolev
c16c1b47b8 Merge remote-tracking branch 'nim-lang/devel' into emscripten-support 2015-09-11 17:37:11 +06:00
Andrey Sobolev
9cdfdde344 Support for GC working in Emscripten environment
Support for GC working in Emscripten environment
2015-09-11 17:36:35 +06:00
Andrey Sobolev
6b645c50d5 mmap non PageSize aligned support
mmap non PageSize aligned support
2015-09-10 12:53:36 +06:00
Reimer Behrends
250375bdd2 Remove spurious unsigned operations from system/threads.nim.
These operations were included before the unsigned module was
incorporated directly into system.nim and subsequently caused
compilation errors with --gc:go due to duplicate definitions.
2015-09-08 19:12:01 +02:00
Reimer Behrends
639b5e0069 Properly register threads with the Boehm GC.
In order to be able to scan thread stacks, the Boehm GC needs to know
about newly created threads. We establish the end of the stack by using
GC_call_with_stack_base (this works properly also with the dual-stack
Itanium architecture) and then GC_register_my_thread() to register a
thrad and GC_unregister_my_thread() to unregister it again.

This patch also includes a modification for the refc and markandsweep
collectors to set the stack bottom for thread stacks correctly even if
an optimizer aggressively inlines and optimizes procedures (this is
already being done for the stack of the main thread).

Finally, we use the {.noconv.} pragma for the Boehm GC, as the Boehm
API uses no specific calling convention.
2015-09-08 19:01:06 +02:00
Araq
833a9344fa NimScript: make the compiler shut up about effects it doesn't know about 2015-09-08 10:22:14 +02:00
Araq
6d654f866d even better docs 2015-09-08 10:22:13 +02:00
Araq
a480bebfce Nimscript: documented; 'exec' now produces output immediately 2015-09-07 12:31:35 +02:00
Reimer Behrends
4baaea5ad5 Properly initialize the Boehm GC on all platforms. 2015-09-06 01:48:31 +02:00
Adam Strzelecki
43bddf62dd lib: Trim .nim files trailing whitespace
via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
2015-09-04 23:03:56 +02:00
Araq
178275f494 split os into os and ospaths parts; ospaths is available for NimScript; better NimScript support 2015-09-04 12:22:23 +02:00
Araq
a373bdd0c9 improvements for NimScript support 2015-09-03 14:30:11 +02:00
Andreas Rumpf
580855d2eb Merge pull request #3273 from yglukhov/js-copy-fix
Fixed JS copying.
2015-09-03 14:22:10 +02:00
Andreas Rumpf
d61461157f Merge pull request #3280 from jlp765/endb
lib/system/endb.nim bug fix: Switch state to dbgSkipCurrent for Eval, Local & Global
2015-09-03 12:37:55 +02:00
JamesP
a3cc519ea9 bug fix: Switch state to dbgSkipCurrent for Eval, Local & Global commands.
This avoids stepping into the endb code if previous command was single step.

Other two changes are trailing spaces removed.
2015-09-03 09:21:25 +10:00