Commit Graph

589 Commits

Author SHA1 Message Date
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
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
Yuriy Glukhov
02214d8d1b Fixed JS copying. 2015-08-31 21:44:07 +03:00
Reimer Behrends
7dd263f506 Fix readLine handling of long lines. 2015-08-28 17:21:03 +02:00
Dominik Picheta
887869d953 Merge pull request #3251 from jck/msp430
add msp430 cpu support
2015-08-26 23:21:26 +01:00
Araq
20c2b00822 make --gc:none work with --threads:on 2015-08-26 23:59:00 +02:00
Keerthan Jaic
66ff1792fa add msp430 cpu support 2015-08-26 00:00:46 -04:00
Andreas Rumpf
f091ce258e Merge pull request #3239 from xyz32/devel
When reading files, check if the eof flag is set before throwing.
2015-08-25 22:22:32 +02:00
Araq
999c107c52 fixes #3245 2015-08-25 15:13:39 +02:00
xyz
1def8ec9f9 remove fileError 2015-08-25 06:48:58 -04:00
Andreas Rumpf
5cfce2623b Merge pull request #3160 from r-ku/coroutines
Coroutines
2015-08-25 10:54:05 +02:00