Commit Graph

993 Commits

Author SHA1 Message Date
Andreas Rumpf
f64f9e50cc correct comparisons for nil strings/seqs 2018-04-28 15:13:44 +02:00
Andreas Rumpf
65c08212db system.nim: minor code cleanup 2018-04-28 07:57:44 +02:00
Andreas Rumpf
7c538b26ad nil in string concats does not produce crashes anymore 2018-04-27 21:33:05 +02:00
Andreas Rumpf
ce36b8efd6 setLen doesn't crash on nil strings/seqs anymore 2018-04-27 11:07:40 +02:00
Andreas Rumpf
ef1b547f35 'add' on a nil sequence doesn't produce a crash anymore 2018-04-27 09:57:20 +02:00
Andreas Rumpf
85ea9593b3 fixes #7637; assignments are not allowed to slice object; minor breaking change 2018-04-21 21:22:36 +02:00
treeform
35b0cc67e8 Remove PHP backend. (#7606)
* remove php

* fix

* keep nimphpext

* remove targetJS enum
2018-04-18 20:40:11 +02:00
treeform
b98cd3bf34 Fix cmpStrings in js mode (#7604) 2018-04-15 17:34:03 +02:00
AdrianV
0ce28d15cc Nim namespace for cpp (#7453)
- new option --usenamespace to generate nim cpp code in its own namespace Nim
- minor changes for compatibility with the new Embarcadero = Borland C++-Builder (bcc)
2018-04-15 13:43:01 +02:00
Andreas Rumpf
6ae9341d48 make JS tests green again 2018-04-14 00:54:15 +02:00
genotrance
f6c8f97fe8 Add a few useful os calls to nimscript (#7442) 2018-04-10 18:50:23 +02:00
cooldome
16c1a90857 Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360) 2018-04-10 12:14:59 +02:00
Federico Ceratto
673f5f3534 Add RISC-V (riscv64) support (#7417) 2018-04-07 00:40:39 +02:00
Araq
2d68674338 fixes #7252 2018-04-06 22:25:25 +02:00
Jacek Sieka
4d6456d029 __NR_gettid as const on amd64 (#7460) 2018-04-06 10:07:36 +02:00
Andreas Rumpf
b25044286b sysstr.nim: fix minor typos 2018-04-02 17:01:40 +02:00
Araq
9de05ec3e0 further steps in implementing sink parameters; refs #7041 2018-03-30 02:32:13 +02:00
jcosborn
e39f2a9283 fix allocator corruption for large sizes (#7338)
* fix allocator corruption for large sizes
* allow large chunks to coalesce and added test case
* use correct constants in MaxBigChunkSize
2018-03-17 23:59:04 +01:00
Simon Krauter
077ff83b6e Fixes #7212, now with better code (#7302)
When platform is Windows and app type is GUI, an error about missing DLL file is displayed as message box in addition to the console output, which is usually not visible.
2018-03-06 11:58:43 +01:00
cooldome
4790b6d63f Fixes 7283 (#7284) 2018-03-05 19:06:47 +01:00
Araq
15e044416f fixes #7291 2018-03-05 13:38:32 +01:00
Araq
6d4107b783 make the allocator take a special path for allocations bigger than 2GB; fixes #7120 2018-02-27 01:46:52 +01:00
cooldome
d24b6667c6 genTryCpp to catch by Nim type, ready for first review (#7196)
* Rewrite genTryCpp

* correction

* Implement polymorphic raise in cpp

* revert backticks in emit

* Cleanp a comment

* revert test changes

* better handling of <new> header
2018-02-12 21:23:34 +01:00
Volodymyr Melnychuk
40e3b5798a Fix undefined reference with MinGw (#7175)
* fix undefined reference with mingw
* use fseek, ftell for x86 and _fseeki64, _ftelli64 for amd64
2018-02-09 09:34:26 +01:00
pqflx3
8d8df5807b Fixes #7121 (#7148)
* Replace ftell and fseek with (windows) _ftelli64, _fseeki64 and (posix) ftello, fseeko

* disable large file test
2018-01-31 16:38:37 +01:00
Andreas Rumpf
4f08ed63cf M&S GC: collect earlier under memory pressure 2018-01-30 10:30:43 +01:00
Andreas Rumpf
8fdc291936 fixes the tracking of 'occupied memory' 2018-01-30 10:30:18 +01:00
Yuriy Glukhov
0b9c1da1c0 Fixes #6741 (#7131) 2018-01-25 04:26:40 +01:00
Andreas Rumpf
0dd1811344 make C++ tests green again 2018-01-22 14:06:53 +01:00
Andreas Rumpf
6e145d4269 GC: also report total GC'ed heap size ignoring losses due to fragmentation 2018-01-21 23:51:54 +01:00
Andreas Rumpf
6266c68ab6 writeStackTrace now officially has no IO effect anymore for more convenient debugging 2018-01-21 21:08:51 +01:00
Andreas Rumpf
8c98277d5a M&S GC: minor code cleanup 2018-01-21 21:06:31 +01:00
Andreas Rumpf
5f603144b2 GC: fixes size computation for leak detection 2018-01-21 20:59:25 +01:00
Andreas Rumpf
e5af08cc12 GC add 'string' to dumpNumberOfInstances 2018-01-21 10:59:09 +01:00
Andreas Rumpf
7adf3bf476 Mark&Sweep GC: introduce nimTracing define for debugging 2018-01-19 18:11:46 +01:00
Andreas Rumpf
00295366b5 fixes size computations for 'dumpNumberOfInstances' 2018-01-19 16:32:48 +01:00
Andreas Rumpf
0b52466bb8 bugfix: do not call memcmp for nil strings 2018-01-19 09:26:11 +01:00
Andreas Rumpf
6f6551d77d leak detector: sort type based entries by total used bytes 2018-01-18 11:11:16 +01:00
Andreas Rumpf
03b7df74a9 alloc.nim: Make 'logAlloc' produce a toy Nim program for easier memory tracing 2018-01-18 10:46:23 +01:00
Araq
f1089db175 GC: enable precise global/thread local storage tracing 2018-01-15 17:41:05 +01:00
Araq
f71f9f83c2 GC improvements; distinguish between thread local and globals in the marking step 2018-01-14 17:34:27 +01:00
Araq
f1bf65f66e gc.nim: Add a gcAssert to enforce the no heap sharing restrictions 2018-01-12 15:08:02 +01:00
cooldome
2aebb8ed7e Fix for isssue in parseBiggestFloat #7060 (#7061) 2018-01-11 01:57:20 +01:00
rrenderr
a1016245cc - fixed lock of a program when proc echo is called on Android 5.x.x (#7054) 2018-01-10 12:41:29 +01:00
Mathias Stearn
9f943dbc8e Don't zeroMem result of boehmAlloc() (#7029)
From the man page: "Unlike the standard implementations of malloc, GC_malloc
clears the newly allocated storage. GC_malloc_atomic does not."
2018-01-05 08:58:42 +01:00
Yuriy Glukhov
d1e10f9aa3 Fixed mutex usage in SharedList and SharedTable. Closes #6988 (#6990) 2017-12-31 09:28:51 +01:00
cooldome
2b3ec0a7c6 Implement language feature #6885 (#6954) 2017-12-24 22:22:03 +01:00
Mathias Stearn
6bd3a2826f cmp(x, y: string) now uses memcmp rather than strcmp (#6869) (#6968) 2017-12-24 15:23:17 +01:00
Araq
ee67a67ac4 first steps in adding template/macro calls to stack traces 2017-12-21 10:03:33 +01:00
Emery Hemingway
9e87531f04 Genode: constrain osTryAllocPages to RAM quota (#6883)
Genode software components all start with an explicit RAM resource quota
which may or may not be upgraded during runtime by the parent process.
With this patch `osTryAllocPages` will fail if allocation exceeds quotas
set by the parent and the `osAllocPages` procedure will trigger a
blocking request to the parent to increase quotas. The previous behavior
could potentially block both procedures indefinitely for a quota upgrade
rather than fail and trigger garbage collection.

This patch also adds tracking of Genode dataspace mappings into the
component address space so they can be detached and freed.
2017-12-14 10:23:47 +01:00