Commit Graph

1036 Commits

Author SHA1 Message Date
Andreas Rumpf
7f49364fd0 make more tests green 2018-08-13 12:29:03 +02:00
Andreas Rumpf
404de2f23e Merge branch 'devel' into araq-misc 2018-08-10 12:06:16 +02:00
Grant
98225ca207 Update channels.nim (#8583)
Fix typo in channels.nim
2018-08-09 09:40:21 +02:00
Araq
babd31360a fixes more nil string bugs 2018-08-08 18:22:48 +02:00
Araq
05121d84b3 fixes a long standing nil bug in substr 2018-08-08 12:05:29 +02:00
Emery Hemingway
be4816f509 Iterator over heap instances (#8548)
Provide "dumpHeapInstances" for iterating over type statistics
of heaps. This can be used to present structured heap information
as an alternative to "dumpNumberOfInstances".
2018-08-07 08:48:52 +02:00
Andreas Rumpf
c57e320c94 fixes 7833 (#8533)
* fixes #7833; still to-do: fix setLen
* make tests green again
* also fixes setLen and string concats; refs #7833
* change formating to avoid a compiler warning
* emit the write barrier also for addChar
* fixes yet another regression
* make setLengthStr compile for the old version
* make growobjcrash complete earlier
2018-08-05 11:42:38 +02:00
Christopher Dunn
cc1fd50b27 Try to let memTracker compile (#8502) 2018-08-05 09:53:10 +02:00
Araq
e6738ba9d9 make 'echo' threadsafe on Windows; fixes #8511 2018-08-04 18:11:03 +02:00
jcosborn
8f4c5a8955 fixed #7894 (#8496)
make system tests run properly
2018-08-01 10:57:35 +02:00
Yuriy Glukhov
6b40114f21 Added c_abort to ansi_c (#8449) 2018-07-30 11:10:51 +02:00
Dominik Picheta
5ea3b4d581 Implements alloc/dealloc counters for better leak debugging. (#8384) 2018-07-21 01:43:13 +02:00
Yuriy Glukhov
dfe3f16022 Don't depend on string.h in codegen (#8299) 2018-07-13 17:41:59 +02:00
Araq
5384de685f Merge branch 'devel' of github.com:nim-lang/Nim into araq-devel 2018-07-06 18:41:00 +02:00
Joey
a1457bfa9f Rewrite the memory management code for Nintendo Switch (#8169)
Rewrite the memory management code for Nintendo Switch

The first implementation was naive and did not account for multiple
memory allocations. However, this implementation may still be
incomplete. Currently, when running applications, the code runs fine.
When the application is exited via code (the end of the program is
reached or quit() is called), the Switch will crash. Not sure why this
happens, but I suspect it is from Nim memory allocations.

I suspect the memory allocations because when I compile the helloworld
application without any Nim allocations (just C function calls) and use
`--gc:none` as a compile option, the application exits fine.
2018-07-05 16:33:15 +02:00
Andreas Rumpf
67c7e49e2a gc_common: minor reformating 2018-07-01 15:10:18 +02:00
Andreas Rumpf
b5a96d28c7 codgen refactoring: prepare for alternative string/seq implementations 2018-06-29 11:34:39 +02:00
Joey
559a7615ad Nintendo switch support (#8069)
* Add config section for Nintendo Switch
* Add compiler configuration for Nintendo Switch and it's CPU
* Add specific lib code for Nintendo Switch
* Add GC support for Nintendo Switch
* Update changelog for Nintendo Switch
* Update changelog with more info about fixed paths
* Cleaned up GC memory management a bit
* Relocate docs for Switch
* Rename aarch64NoneElfGcc to nintendoSwitchGCC
* Remove armv8a57
* Fix installer.ini
* Reuse code in linux and amd64
* Add posix defs for nintendo switch
* Add more defined sections for nintendo switch
* Remove old comment
* Add what's not supported for Nintendo Switch docs
* Make nintendoswitch == posix
* Remove DEVKITPRO references from nim.cfg
* Make PR extccomp changes
* Remove Result type alias
* Add separate switch consts file
* Update docs for nintendo switch
* Fix travis errors with undefined consts and add correct wait.h procs
2018-06-27 12:35:09 +02:00
Zahary Karadjov
7ab1aafc6b stdlib work 2018-06-16 16:46:32 +03:00
Charles Blake
ed4f1f4c43 hotfix 3221ac0943 broke gc:regions/aka gc:stack by
underallocating for sequences of any type larger than 1 byte.  This does the
necessary multiply to restore basic functionality.
2018-06-13 10:36:47 -04:00
Andreas Rumpf
61d9292095 fixes merge conflict 2018-06-11 01:25:48 +02:00
Andreas Rumpf
e00e7fec54 Merge pull request #7873 from ehmry/GenodeEnv
Native access to Genode environment
2018-06-09 09:38:53 +02:00
Araq
8e9551b1c7 fixex merge conflicts 2018-06-08 19:50:36 +02:00
Araq
3c7bbfebb1 fixes seq copying in channels for --gc:regions 2018-06-07 21:35:41 +02:00
Emery Hemingway
22f714585b Native access to Genode environment
Add a 'GenodeEnv' type and a 'componentConstructHook' to the system
module. The 'componentConstructHook' allows for detection of POSIX style
programs that exit implicitly or native Genode components that
initialize to serve RPC requests and OS signals.

This hook takes a 'GenodeEnv' argument so that the environment interface
is passed cleanly to application code after globals are initialized.
This is an typed pointer to a C++ object, procedures for accessing the
environment will be available from a Nimble library and not included in
the standard library.

The standard library has an internal pointer to the environment object
but this is not for external use, the undocumented global environment
pointer has been removed.
2018-06-07 07:21:20 +02:00
Andreas Rumpf
3cbc07ac78 Merge pull request #7770 from yglukhov/yield-in-try
Yield in try
2018-06-05 19:58:00 +02:00
Andreas Rumpf
12996c08a1 fixed merge conflict 2018-06-04 16:16:50 +02:00
Yuriy Glukhov
395b7506cf Expose GC_setStackBottom (#7885) 2018-06-04 11:12:18 +02:00
Andreas Rumpf
e5281f9356 rename 'nimrodVM' to 'nimVM' 2018-05-28 18:01:56 +02:00
Andreas Rumpf
3221ac0943 hotfix for --gc:regions 2018-05-28 11:24:29 +02:00
Andreas Rumpf
88bc2d8df4 make memory regions robust; disable free lists for now 2018-05-27 11:15:45 +02:00
Araq
08637bc272 JS hotfix for the Internet Explorer up to version 11 2018-05-25 23:19:54 +02:00
Andreas Rumpf
6536535470 add missing compilerProcs for memory regions 2018-05-25 16:23:21 +02:00
Andreas Rumpf
c0024fa587 fixes channels for --gc:regions 2018-05-25 16:21:33 +02:00
Dmitry Atamanov
e206a8d952 Use new binarySearch everywhere (#7876) 2018-05-25 00:04:30 +03:00
Yuriy Glukhov
cfe40a3e6e Merge branch 'devel' into yield-in-try 2018-05-15 19:54:52 +03:00
Ganesh Viswanathan
6ca8478548 Minor fixes to enable tcc 2018-05-14 11:40:59 +02:00
Yuriy Glukhov
ce63490928 Yield in try 2018-05-09 22:25:28 +03:00
Andreas Rumpf
272bbad784 Merge branch 'devel' into araq-parser-fixes 2018-05-06 08:03:29 +02:00
Andreas Rumpf
1aa359febb warn about inconsistent spacing around binary operators; fixes #7582 2018-05-05 14:58:33 +02:00
Araq
7d78707e36 fixes #7766 2018-05-04 08:11:13 +02:00
Andreas Rumpf
74fe7a800b make tests green again 2018-05-02 13:34:54 +02:00
Andreas Rumpf
599b5d6dcb make 'not nil' experimental 2018-05-02 13:34:53 +02:00
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