Commit Graph

509 Commits

Author SHA1 Message Date
Sergey Avseyev
70ce8695e7 Fix #2672. Do not define globalsSlot for native TLS
Motivation
----------
globalsSlot is always defined so threading code works incorrectly when
native TLS supported.

Modification
------------
Defined globalsSlot only in TLS emulation mode. Remove myThreadId, which
based on broken behavior. It might be reimplemented later

Result
------
No segfaults.
2015-06-26 07:42:58 +03:00
Sergey Avseyev
f9d8d6ce09 Trim trailling spaces 2015-06-26 07:42:58 +03:00
Araq
6de5c1e86d fixes #2992 2015-06-25 13:13:33 +02:00
reactormonk
37677636bc Merge pull request #2968 from def-/neutral-language
Neutral language
2015-06-21 14:36:55 -05:00
def
e7132767a1 Fix typos in comments 2015-06-21 21:25:38 +02:00
patrick dw
1cdbd6b0a5 reworked deprecation to retain old procs 2015-06-19 18:50:01 -05:00
patrick dw
15e7fe787a renamed writeln to writeLine in lib 2015-06-19 01:02:22 -05:00
patrick dw
072688d06e Renamed writeln procs to writeLine 2015-06-18 23:49:46 -05:00
yglukhov
50d2d54fb0 Fixed fix of #2917 2015-06-17 23:26:38 +03:00
Andreas Rumpf
314fe6b54a Merge pull request #2945 from yglukhov/fix-2917
Fixes #2917
2015-06-17 20:50:08 +02:00
yglukhov
5824b1c839 Fixes #2917 2015-06-17 21:16:18 +03:00
Andreas Rumpf
e2bcf22a84 Merge pull request #2768 from gokr/fix-repr
Fixes #2749, traverse full inheritance for reprRecord
2015-06-16 20:48:51 +02:00
Andreas Rumpf
ad1ac76567 Merge pull request #2851 from stefantalpalaru/gogc
the Go GC (using the gccgo implementation)
2015-06-16 20:46:23 +02:00
Stefan Talpalaru
b487d4e425 conditional TGenericSeq extension 2015-06-16 15:15:17 +02:00
yglukhov
ffa4f8dc99 Added noUnhandledHandler 2015-06-15 23:30:09 +03:00
yglukhov
fa1f3aecce Unhandled exceptions handling brought back. 2015-06-15 23:08:38 +03:00
yglukhov
090fc33641 Fixed and slightly changed exception handling. 2015-06-15 21:49:49 +03:00
Stefan Talpalaru
8624654c57 TMemRegion -> MemRegion 2015-06-15 09:18:44 +02:00
Stefan Talpalaru
fe0b6d74f5 cleanup 2015-06-15 08:56:07 +02:00
Stefan Talpalaru
bdac85f2cf Merge branch 'devel' into gogc 2015-06-15 08:44:02 +02:00
Stefan Talpalaru
657d6f9de2 finalizer support 2015-06-15 08:36:55 +02:00
Araq
8d39669233 fixes #2909 2015-06-15 00:56:20 +02:00
yglukhov
6436d1920c Fixed copying of aggregates in JS. 2015-06-11 23:32:08 +03:00
Spencer Stirling
d152ccc1e2 fixed threadpool and atomics to work with Visual Studio 32 and 64 bit 2015-06-09 11:59:26 -06:00
Stefan Talpalaru
02ddbae8f6 fix growObj() with strings 2015-06-09 17:58:54 +02:00
Andreas Rumpf
94b7da4297 Merge pull request #2645 from def-/builtin_overflow
Use builtin overflow functions of Clang and GCC (WIP, RFC)
2015-06-07 10:55:23 +02:00
Dominik Picheta
0b124a2043 Fixes compilation with --gc:markandsweep. 2015-06-04 23:12:38 +01:00
pdw
2ca90a20a1 lib/system/g-w - Dropped 'T' from types 2015-06-04 13:18:37 +02:00
pdw
ff5b446dfc lib/system/a-e - Dropped 'T' from types 2015-06-04 13:18:37 +02:00
Stefan Talpalaru
50e96ad939 the Go GC - initial implementation 2015-05-31 19:07:44 +02:00
Sergey Avseyev
1001fd2166 Fix Boehm GC on linux
Motivation
----------
Some linuxes (like Fedora) actually multiarch. And it means that
libgc.so.1 not always installed into /usr/lib. It is better to entrust
this job to ld and system configuration for it.

Modification
------------
Use relative path for Boehm GC on 'other' OS (and linux in particular)

Result
------
It is possible now to build nim with --gc:boehm on linux
2015-05-26 08:40:51 +03:00
Andreas Rumpf
177129195f Merge pull request #2671 from rbehrends/fix-register-scan
Fix GC scanning of registers on x86_64 architectures.
2015-05-25 00:55:39 +02:00
Göran Krampe
0fc53151ba Tweaked to do commas properly 2015-05-20 12:48:38 +02:00
Göran Krampe
2cceaff88a Fixes #2749, traverse full inheritance for reprRecord 2015-05-20 11:59:02 +02:00
def
fef21e9003 Use -d:builtinOverflow for builtin overflow checks
of recent Clang and GCC >= 5.0.

Maybe it's better that it's optional after all. GCC's code with builtin
overflow checks seems to be a bit slower actually, while Clang's is 3
times faster.
2015-05-08 04:00:24 +02:00
Reimer Behrends
2a08bbdf31 Fix GC scanning of registers on x86_64 architectures.
It is possible for jmp_buf to not be word-aligned or addresses
in the register dump to not be word-aligned. This can result in
either addresses in registers being missed or even addresses on
the stack past the register area not being scanned properly.
2015-05-07 14:35:39 +02:00
def
c5db4fc3a2 Move the noreturn pragma to sysFatal
Now you can choose to implement sysFatal with --os:standalone so that it
returns.
2015-05-05 20:26:54 +02:00
def
0e8e574961 Use builtin overflow functions of Clang and GCC (WIP, RFC)
This only works with recent Clang and GCC 5.0.

Currently it doesn't work because __has_builtin can't be defined.

This is totally ugly. But we can't reliably detect whether we can use
the builtins from Nim, especially with cross-compiling where the user
may be using an older compiler version. Switching this on/off manually
with a define seems weird as well, this should work automatically.
2015-05-03 03:49:11 +02:00
Araq
c6398d408d fixes #1888 2015-04-27 23:11:59 +02:00
Wink Saville
b0b3a2500a The importc for atomicCompareExchange is incorrectly defined.
The .importc: was referring to __atomic_compare_exchange_n this corrects
it to be __atomic_compare_exchange.
2015-04-13 20:39:01 -07:00
Araq
8ddb58aecc fixes bootstrapping on windows 2015-04-10 14:17:07 +02:00
Andreas Rumpf
6e6c6446a4 Merge pull request #2329 from def-/readline
Speed up readLine by using getc_unlocked
2015-04-10 14:02:22 +02:00
def
22b4e4c2f2 Use more Natural and Positive numbers in proc parameters
- Didn't go through all modules, only the main ones I thought of
- Building the compiler and tests still work
2015-04-06 02:24:17 +02:00
Simon Hafner
6ce53e3d63 some better sysassert messages 2015-04-04 17:05:18 -05:00
def
450c2c5287 Fix proc call in gc_ms
This fixes compilation with --gc:markandsweep -d:gcUseBitvectors
2015-03-26 01:12:45 +01:00
def
ddeefe85d2 Add cpuRelax assembler for other platforms 2015-03-21 21:02:09 +01:00
Andreas Rumpf
327b56d5e1 Merge pull request #2343 from philip-wernersbach/fix-pthreads-under-cpp
Fix issues with pthread_create when compiling under C++ mode.
2015-03-16 10:27:55 +01:00
Dominik Picheta
1e9ab3bb0a Fixes #2323. Fixes #2148. 2015-03-15 22:06:26 +00:00
Philip Wernersbach
f8d6d74368 Fix pthread_create binding when compiling in C++ mode.
C++ has different rules for void pointers, which causes the binding
to be invalid when compiling in C++ mode.
2015-03-15 17:33:46 -04:00
def
ef9a3b4d3b Speed up readLine by using getc_unlocked
- Only on POSIX and Windows (_fgetc_nolock here) systems
- File is locked to our thread before and unlocked after readLine
- About 3 times faster in some simple tests
2015-03-12 22:46:18 +01:00