ecl.git
9 years agoMerge branch 'develop' of ginseng.xisop:/home/data/git/public/ecl into netbsd-boehm-gc
Matthew Mondor [Sat, 12 Sep 2015 10:30:12 +0000 (06:30 -0400)]
Merge branch 'develop' of ginseng.xisop:/home/data/git/public/ecl into netbsd-boehm-gc

Conflicts:
CHANGELOG
src/c/main.d
src/c/stacks.d

9 years agoMerge branch 'heap-size-agreed' into 'develop' origin/develop
Daniel Kochmański [Sat, 12 Sep 2015 08:15:01 +0000 (08:15 +0000)]
Merge branch 'heap-size-agreed' into 'develop'

Heap related fixes

- User-defined heap sizes can now exceed the size of a fixnum on 32-bit
  Fixes issue #140

- The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
  but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
  prevented the heap to grow for 64-bit.  This now occurs, and a few
  other less visible bugs were fixed by restoring consistency to
  ECL_FIXNUM_BITS.

See merge request !11

9 years ago- User-defined heap sizes can now exceed the size of a fixnum on 32-bit
Matthew Mondor [Fri, 11 Sep 2015 20:54:18 +0000 (16:54 -0400)]
- User-defined heap sizes can now exceed the size of a fixnum on 32-bit
  Fixes issue #140

- The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
  but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
  prevented the heap to grow for 64-bit.  This now occurs, and a few
  other less visible bugs were fixed by restoring consistency to
  ECL_FIXNUM_BITS.

9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into netbsd-boehm-gc origin/netbsd-boehm-gc
Matthew Mondor [Fri, 11 Sep 2015 19:50:48 +0000 (15:50 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into netbsd-boehm-gc

Conflicts:
CHANGELOG

9 years agochangelog: update
Daniel Kochmański [Fri, 11 Sep 2015 15:44:58 +0000 (17:44 +0200)]
changelog: update

9 years agoannotation: turn annotation logic on
Daniel Kochmański [Fri, 11 Sep 2015 14:23:32 +0000 (16:23 +0200)]
annotation: turn annotation logic on

This was disabled from outside of ecl-min (not sure why). Achieved
with bounding ext::*register-with-pde-hook* to already defined

Works ok with swank for both macros and functions.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: fix documnetation builds
Daniel Kochmański [Fri, 11 Sep 2015 12:23:16 +0000 (14:23 +0200)]
doc: fix documnetation builds

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agodoc: ansi-streams: correct encodings package
Daniel Kochmański [Fri, 11 Sep 2015 12:16:31 +0000 (14:16 +0200)]
doc: ansi-streams: correct encodings package

Fixes #139.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoasdf: fix problem with uiop:run-program until we upgrade to next ASDF
Daniel Kochmański [Fri, 11 Sep 2015 10:56:10 +0000 (12:56 +0200)]
asdf: fix problem with uiop:run-program until we upgrade to next ASDF

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoexternal-process-wait: check code after status change
Daniel Kochmański [Fri, 11 Sep 2015 09:49:02 +0000 (11:49 +0200)]
external-process-wait: check code after status change

Related to #149

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoUpdate README with latest test information
Matthew Mondor [Tue, 8 Sep 2015 22:24:39 +0000 (18:24 -0400)]
Update README with latest test information

9 years agoUse -O0 to disable optimizations to provide more info when debugging
Matthew Mondor [Tue, 8 Sep 2015 22:12:30 +0000 (18:12 -0400)]
Use -O0 to disable optimizations to provide more info when debugging
and avoid potential optimization bugs.

9 years agoUpdate README
Matthew Mondor [Tue, 8 Sep 2015 20:29:56 +0000 (16:29 -0400)]
Update README

9 years agoUpdate README
Matthew Mondor [Tue, 8 Sep 2015 07:17:56 +0000 (03:17 -0400)]
Update README

9 years agoAdd gdb and kdump logs
Matthew Mondor [Tue, 8 Sep 2015 07:15:35 +0000 (03:15 -0400)]
Add gdb and kdump logs

9 years agoReproduced the busy and idle situations, logging ktrace and gdb
Matthew Mondor [Tue, 8 Sep 2015 07:07:58 +0000 (03:07 -0400)]
Reproduced the busy and idle situations, logging ktrace and gdb
information for each.

9 years agoAdd ECL build script for debug config
Matthew Mondor [Tue, 8 Sep 2015 06:55:21 +0000 (02:55 -0400)]
Add ECL build script for debug config

9 years agoAlso add test case program to reproduce the bug.
Matthew Mondor [Tue, 8 Sep 2015 06:47:14 +0000 (02:47 -0400)]
Also add test case program to reproduce the bug.
Dealing mostly with (test4) for now.

9 years agoAdd some working notes to this branch for convenience.
Matthew Mondor [Tue, 8 Sep 2015 06:44:22 +0000 (02:44 -0400)]
Add some working notes to this branch for convenience.

9 years agoMerge branch 'heap-size' of gitlab.com:embeddable-common-lisp/ecl into netbsd-boehm-gc
Matthew Mondor [Tue, 8 Sep 2015 06:41:35 +0000 (02:41 -0400)]
Merge branch 'heap-size' of gitlab.com:embeddable-common-lisp/ecl into netbsd-boehm-gc

Since we're diagnosing complex GC and heap related bugs, let's at
least fix this issue now on this branch.

9 years agoOn NetBSD-6, real-time signals are not exported to userland by
Matthew Mondor [Tue, 8 Sep 2015 06:39:03 +0000 (02:39 -0400)]
On NetBSD-6, real-time signals are not exported to userland by
default.  They appear to work, but gdb has trouble to identify
them.  Let's use SIGPWR and SIGXCPU instead for diagnostics.

9 years agoMerge branch 'develop' into 'develop'
Daniel Kochmański [Mon, 7 Sep 2015 14:42:13 +0000 (14:42 +0000)]
Merge branch 'develop' into 'develop'

cosmetic: fix a minor typo

See merge request !10

9 years agofix a minor typo
Denis Martinez [Mon, 7 Sep 2015 13:27:06 +0000 (15:27 +0200)]
fix a minor typo

9 years agoUpdate CHANGELOG for various recent fixes
Matthew Mondor [Mon, 7 Sep 2015 10:06:36 +0000 (06:06 -0400)]
Update CHANGELOG for various recent fixes

9 years ago- si_get_limit() must deal with size_t for heap-size too
Matthew Mondor [Sun, 6 Sep 2015 11:47:12 +0000 (07:47 -0400)]
- si_get_limit() must deal with size_t for heap-size too
- add comments for the size_t exceptions

9 years agoUse %lu with (unsigned long) casting instead of relying on C99 %zd.
Matthew Mondor [Sat, 5 Sep 2015 22:16:37 +0000 (18:16 -0400)]
Use %lu with (unsigned long) casting instead of relying on C99 %zd.
Cleanup the output text, which was confusing when using a custom
heap size limit.

9 years agoUse size_t as well as (size_t)ecl_to_ulong() for the heap size
Matthew Mondor [Sat, 5 Sep 2015 21:50:03 +0000 (17:50 -0400)]
Use size_t as well as (size_t)ecl_to_ulong() for the heap size
parameter, since cl_index with ecl_to_size() could not handle
expected values for heap-size on 32-bit systems.

9 years agoMore text cleanup
Matthew Mondor [Sat, 5 Sep 2015 09:56:26 +0000 (05:56 -0400)]
More text cleanup

9 years agoAdd size_t casting where needed (on 32-bit 0 would be printed in
Matthew Mondor [Sat, 5 Sep 2015 09:48:03 +0000 (05:48 -0400)]
Add size_t casting where needed (on 32-bit 0 would be printed in
some cases otherwise).

9 years agoHeap size related warnings now accumulate into a buffer which the
Matthew Mondor [Sat, 5 Sep 2015 07:34:00 +0000 (03:34 -0400)]
Heap size related warnings now accumulate into a buffer which the
toplevel prints if it's available.  The warning messages were also
cleaned-up.

9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Fri, 4 Sep 2015 19:49:53 +0000 (15:49 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size

9 years agoMerge branch 'infinity-fix' into 'develop'
Matthew Mondor [Fri, 4 Sep 2015 19:42:38 +0000 (19:42 +0000)]
Merge branch 'infinity-fix' into 'develop'

Infinity fix

Produce valid C code for all kinds of infinity

I have also pending NaN changes, but this requires more work.

See merge request !9

9 years agochangelog: update changelog
Daniel Kochmański [Fri, 4 Sep 2015 19:20:51 +0000 (21:20 +0200)]
changelog: update changelog

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoinfinity: add regression tests
Daniel Kochmański [Fri, 4 Sep 2015 19:05:24 +0000 (21:05 +0200)]
infinity: add regression tests

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agointernal.h: fake ISO C99 INFINITY and NAN if not defined
Daniel Kochmański [Fri, 4 Sep 2015 18:58:31 +0000 (20:58 +0200)]
internal.h: fake ISO C99 INFINITY and NAN if not defined

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agocmpc: when infinity is used, emit macro "INFINITY"
Daniel Kochmański [Fri, 4 Sep 2015 10:59:59 +0000 (12:59 +0200)]
cmpc: when infinity is used, emit macro "INFINITY"

and "-INFINITY" for negative infinity. These corner-cases lead to
compilation error, so no regression will be imposed even against
non-c99 compilers.

INFINITY and NAN macros are introduced by C99 standard, so such code
requires C-backend to support this math extension. Fixes #156.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: update
Daniel Kochmański [Fri, 4 Sep 2015 19:31:16 +0000 (21:31 +0200)]
changelog: update

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoregression: add back removed interfaces
Daniel Kochmański [Fri, 4 Sep 2015 19:29:08 +0000 (21:29 +0200)]
regression: add back removed interfaces

Adds back ecl_import_current_thread and ecl_release_current_thread.
Closes #8.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: update changelog
Daniel Kochmański [Fri, 4 Sep 2015 06:59:58 +0000 (08:59 +0200)]
changelog: update changelog

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoformat: float: use prin1 when passed NaN or infinity
Daniel Kochmański [Fri, 4 Sep 2015 06:58:27 +0000 (08:58 +0200)]
format: float: use prin1 when passed NaN or infinity

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Fri, 4 Sep 2015 04:52:07 +0000 (00:52 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size

9 years agostyle: fix broken modeline
Daniel Kochmański [Fri, 4 Sep 2015 04:45:50 +0000 (06:45 +0200)]
style: fix broken modeline

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Thu, 3 Sep 2015 20:19:51 +0000 (16:19 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size

9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Matthew Mondor [Thu, 3 Sep 2015 20:18:01 +0000 (16:18 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop

9 years agoFix some fallout from the script to correct/add Emacs and ViM syntax
Matthew Mondor [Thu, 3 Sep 2015 20:16:12 +0000 (16:16 -0400)]
Fix some fallout from the script to correct/add Emacs and ViM syntax
directives.  Some files had more than one existing Emacs directives,
breaking the script which didn't expect this.

9 years agocosmetic: bdwgc: remove autom4te.cache
Daniel Kochmański [Thu, 3 Sep 2015 19:47:47 +0000 (21:47 +0200)]
cosmetic: bdwgc: remove autom4te.cache

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Thu, 3 Sep 2015 19:24:53 +0000 (15:24 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size

9 years agoMerge branch 'style' into 'develop'
Daniel Kochmański [Thu, 3 Sep 2015 18:07:04 +0000 (18:07 +0000)]
Merge branch 'style' into 'develop'

"style" temporary branch

The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.

See merge request !8

9 years agoThe ECL code no longer uses tabulator characters, they were replaced
Matthew Mondor [Thu, 3 Sep 2015 11:35:47 +0000 (07:35 -0400)]
The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.

9 years agoprinter: coerce float infinity more roboustly
Daniel Kochmański [Thu, 3 Sep 2015 06:47:00 +0000 (08:47 +0200)]
printer: coerce float infinity more roboustly

Basically use C function instead of a generic Lisp one.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoprinter: float infinity/nan: coerce printed form to base-string
Daniel Kochmański [Thu, 3 Sep 2015 06:12:08 +0000 (08:12 +0200)]
printer: float infinity/nan: coerce printed form to base-string

CLOS printer uses normal strings while float_to_string.d calls
push_base_string to cache printable form of infinity (and nan). Coerce
clos strings to base-string. Fixes #153. Related to #114.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Wed, 2 Sep 2015 21:56:15 +0000 (17:56 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size

9 years agotests: add stress tests submitted by James M. Lawrence
Daniel Kochmański [Wed, 2 Sep 2015 19:29:30 +0000 (21:29 +0200)]
tests: add stress tests submitted by James M. Lawrence

This suite needs integration and tweaking to avoid infinite loop.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Daniel Kochmański [Wed, 2 Sep 2015 13:59:35 +0000 (15:59 +0200)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop

9 years agogmp: issue autoreconf -ivf (fixes ppc64le builds)
Daniel Kochmański [Wed, 2 Sep 2015 13:59:18 +0000 (15:59 +0200)]
gmp: issue autoreconf -ivf (fixes ppc64le builds)

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'cleanup-testing' into 'develop'
Philipp Marek [Wed, 2 Sep 2015 10:22:45 +0000 (10:22 +0000)]
Merge branch 'cleanup-testing' into 'develop'

Cleanup testing

Separated tests from auxiliary tools, merged tests into files corresponding to interface (aspects are separated with ^L, navigable with C-x [ and C-x ]), renamed "bugs" to "regressions" - what these tests really are.

TODO (in indefinete future):
- some tests have auxiliary functions, these should be moved to auxiliary/ directory and loaded from there, so test files contain only tests

- add back ansi-tests suite as git subtree (to keep in sync with upstream on demand)

- add mop-features suite (subtree)

- modify deftest macro to "remember" file, from which test was load and report that back

- keep test suites / interfaces in separate packages

- make running tests possible without installing ECL (not tests thing though, rather buildsystem)

See merge request !7

9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Daniel Kochmański [Wed, 2 Sep 2015 09:09:49 +0000 (11:09 +0200)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop

9 years agocosmetic: rename Copyright to LICENSE
Daniel Kochmański [Wed, 2 Sep 2015 09:09:04 +0000 (11:09 +0200)]
cosmetic: rename Copyright to LICENSE

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: rename 'bugs' to 'regressions'
Daniel Kochmański [Wed, 2 Sep 2015 08:51:51 +0000 (10:51 +0200)]
tests: rename 'bugs' to 'regressions'

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: upate wrt testing
Daniel Kochmański [Wed, 2 Sep 2015 08:40:09 +0000 (10:40 +0200)]
changelog: upate wrt testing

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'develop' into cleanup-testing
Daniel Kochmański [Wed, 2 Sep 2015 08:38:54 +0000 (10:38 +0200)]
Merge branch 'develop' into cleanup-testing

9 years agotests: fix remaing things
Daniel Kochmański [Wed, 2 Sep 2015 08:36:27 +0000 (10:36 +0200)]
tests: fix remaing things

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: adjust files
Daniel Kochmański [Wed, 2 Sep 2015 07:33:16 +0000 (09:33 +0200)]
tests: adjust files

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: Move tests to separate directory
Daniel Kochmański [Wed, 2 Sep 2015 07:22:24 +0000 (09:22 +0200)]
tests: Move tests to separate directory

Don't keep them in same directory as aux tools

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'develop' into 'develop'
Daniel Kochmański [Wed, 2 Sep 2015 06:56:06 +0000 (06:56 +0000)]
Merge branch 'develop' into 'develop'

cosmetic: Untabify everything.

If anything has been messed up (which it seems there hasn't), let me know.

See merge request !6

9 years agoUntabify everything.
Zack Piper [Tue, 1 Sep 2015 20:10:10 +0000 (20:10 +0000)]
Untabify everything.

9 years agotests: rename ffi and emb tests
Daniel Kochmański [Tue, 1 Sep 2015 16:13:53 +0000 (18:13 +0200)]
tests: rename ffi and emb tests

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge reported bugs and mixed regressions
Daniel Kochmański [Tue, 1 Sep 2015 16:11:55 +0000 (18:11 +0200)]
tests: merge reported bugs and mixed regressions

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge compiler tests to compiler.lsp (missing files)
Daniel Kochmański [Tue, 1 Sep 2015 16:03:27 +0000 (18:03 +0200)]
tests: merge compiler tests to compiler.lsp (missing files)

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge compiler tests to compiler.lsp
Daniel Kochmański [Tue, 1 Sep 2015 15:32:03 +0000 (17:32 +0200)]
tests: merge compiler tests to compiler.lsp

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge sourceforge reports to reported-bugs
Daniel Kochmański [Tue, 1 Sep 2015 15:19:41 +0000 (17:19 +0200)]
tests: merge sourceforge reports to reported-bugs

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge multiprocessing tests (a few left)
Daniel Kochmański [Tue, 1 Sep 2015 15:08:14 +0000 (17:08 +0200)]
tests: merge multiprocessing tests (a few left)

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge multiprocessing tests
Daniel Kochmański [Tue, 1 Sep 2015 14:54:46 +0000 (16:54 +0200)]
tests: merge multiprocessing tests

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge metaobject protocol tests
Daniel Kochmański [Tue, 1 Sep 2015 14:42:11 +0000 (16:42 +0200)]
tests: merge metaobject protocol tests

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: add #s fix
Daniel Kochmański [Tue, 1 Sep 2015 14:35:55 +0000 (16:35 +0200)]
changelog: add #s fix

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: add regression test for #s reader
Daniel Kochmański [Tue, 1 Sep 2015 14:34:25 +0000 (16:34 +0200)]
tests: add regression test for #s reader

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agosharp-s-reader: read should be invoked recursively
Daniel Kochmański [Tue, 1 Sep 2015 13:07:06 +0000 (15:07 +0200)]
sharp-s-reader: read should be invoked recursively

Patch provided by drmeister. Test case:

(defstruct foo a)
(read-from-string
 "(#1=\"Hello\" #S(FOO :A #1#))"))

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agotests: merge external-format tests
Daniel Kochmański [Tue, 1 Sep 2015 12:57:23 +0000 (14:57 +0200)]
tests: merge external-format tests

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoupdate readme (typos)
Daniel Kochmański [Mon, 31 Aug 2015 08:22:52 +0000 (08:22 +0000)]
update readme (typos)

9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop
Daniel Kochmański [Mon, 31 Aug 2015 06:58:15 +0000 (08:58 +0200)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop

9 years agoIt appears that the larget the heap, the larger heap_gap must be.
Matthew Mondor [Mon, 31 Aug 2015 05:38:59 +0000 (01:38 -0400)]
It appears that the larget the heap, the larger heap_gap must be.
After some more testing, adapt to 50MB of additional heap gap per
1GB of heap size.

9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Mon, 31 Aug 2015 05:14:19 +0000 (01:14 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size

Conflicts:
msvc/ecl/config.h.msvc6
src/c/big.d
src/c/main.d

Conflicts fixed.

9 years agoMerge branch 'fixnum-bits' into 'develop'
Matthew Mondor [Mon, 31 Aug 2015 05:06:47 +0000 (05:06 +0000)]
Merge branch 'fixnum-bits' into 'develop'

FIXNUM_BITS -> ECL_FIXNUM_BITS consistently, second try

Somehow the develop branch still used a mix of both

See merge request !5

9 years agoAvoid constant value 32-bit rollback for 64-bit/4GB heap
Matthew Mondor [Mon, 31 Aug 2015 02:59:43 +0000 (22:59 -0400)]
Avoid constant value 32-bit rollback for 64-bit/4GB heap

9 years agoFIXNUM_BITS -> ECL_FIXNUM_BITS consistently, second try
Matthew Mondor [Sun, 30 Aug 2015 20:35:14 +0000 (16:35 -0400)]
FIXNUM_BITS -> ECL_FIXNUM_BITS consistently, second try

9 years agocosmetic: remove spaces on blank lines
Daniel Kochmański [Sun, 30 Aug 2015 09:54:00 +0000 (11:54 +0200)]
cosmetic: remove spaces on blank lines

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'heap-size' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Sun, 30 Aug 2015 08:22:45 +0000 (04:22 -0400)]
Merge branch 'heap-size' of gitlab.com:embeddable-common-lisp/ecl into heap-size

9 years agoFIXNUM_BITS -> ECL_FIXNUM_BITS
Matthew Mondor [Sun, 30 Aug 2015 08:21:25 +0000 (04:21 -0400)]
FIXNUM_BITS -> ECL_FIXNUM_BITS

9 years agoMerge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size
Matthew Mondor [Sun, 30 Aug 2015 08:20:16 +0000 (04:20 -0400)]
Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into heap-size

9 years agoreadme: a few stylistic cleanups
Daniel Kochmański [Sun, 30 Aug 2015 08:16:31 +0000 (10:16 +0200)]
readme: a few stylistic cleanups

As suggested by Matthew Mondor capitalized "Lisp" and specified
additional information. Fixes #148.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agoMerge branch 'fixnum-bits' into 'heap-size'
Daniel Kochmański [Sun, 30 Aug 2015 07:59:56 +0000 (07:59 +0000)]
Merge branch 'fixnum-bits' into 'heap-size'

FIXNUM_BITS -> ECL_FIXNUM_BITS

Assumes that ECL_FIXNUM_BITS was what was wanted (presumably prefixed
with ECL_ to make it a public C API).  The code used a mix of
ECL_FIXNUM_BITS and FIXNUM_BITS, with only FIXNUM_BITS being defined,
meaning that there also previously were bugs in main.d and ffi.d.

Addresses issue #147.

See merge request !4

9 years agoAssumes that ECL_FIXNUM_BITS was what was wanted (presumably prefixed
Matthew Mondor [Sun, 30 Aug 2015 06:44:05 +0000 (02:44 -0400)]
Assumes that ECL_FIXNUM_BITS was what was wanted (presumably prefixed
with ECL_ to make it a public C API).  The code used a mix of
ECL_FIXNUM_BITS and FIXNUM_BITS, with only FIXNUM_BITS being defined,
meaning that there also previously were bugs in main.d and ffi.d.

Addresses issue #147.

9 years ago- Use FIXNUM_BITS rather than ECL_FIXNUM_BITS which was undefined
Matthew Mondor [Sun, 30 Aug 2015 06:14:57 +0000 (02:14 -0400)]
- Use FIXNUM_BITS rather than ECL_FIXNUM_BITS which was undefined
  (the old code was bogus too on that respect)
- To prevent 32-bit rounding append L to the default heap size definitions
- Also print the fixnum bit size and default heap in the debug log

9 years agocosmetic: change label name from ERR to ERROR
Daniel Kochmański [Sat, 29 Aug 2015 18:37:25 +0000 (20:37 +0200)]
cosmetic: change label name from ERR to ERROR

First netbsd patch is partly applied (we have dragonfly platform), but
it drops solaris 10 support which we don't. Second is cosmetic and
applied right now. Fixes #144.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: update
Daniel Kochmański [Sat, 29 Aug 2015 18:28:00 +0000 (20:28 +0200)]
changelog: update

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: check for GC_get_thr_restart_signal only on threaded build
Daniel Kochmański [Sat, 29 Aug 2015 18:25:31 +0000 (20:25 +0200)]
changelog: check for GC_get_thr_restart_signal only on threaded build

ECL checked for GC_get_thr_restart_signal even if was built without
threads. This function is present in boehm only when it's build with
threads, but we don't need this functionality for single-threaded
builds. Fixes #146.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years agochangelog: found 13.5.1 changes - added
Daniel Kochmański [Sat, 29 Aug 2015 17:49:04 +0000 (19:49 +0200)]
changelog: found 13.5.1 changes - added

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
9 years ago- Replace tabs by spaces (the other codebases I work on all use tabs :)
Matthew Mondor [Fri, 28 Aug 2015 22:44:05 +0000 (18:44 -0400)]
- Replace tabs by spaces (the other codebases I work on all use tabs :)
- After looking at grusage() it seems that we cannot use this to adapt heap_gap
- heap_gap demonstrated to be necessary, at least for now, now set at 50MB
- Minor cleanups

To test:

- Reduce the heap size limit by reducing the soft RLIMIT_DATA of
  your current shell.  On sh, this can be done using ulimit -d
  <kilobytes>.  Either reduce it smaller than the ECL default heap
  (1GB on 32-bit, 4GB on 64-bit), or specify a larger heap limit to
  ECL starting it with the --heap-size <bytes> option (but note that
  because of another bug it may be difficult to increase it very
  high).
- Start ECL, notice the HEAP-WARNING: messages which should show
  that the soft limit was increased to satisfy the heap.
- Run allocations until either ECL freezes or reports a heap error.
   the test is successful, it should report, not freeze, obviously :)
  Example test to run:

(defparameter *allocations* 16384)
(defparameter *alloc-size* 4096)
(defvar *queue* (make-array 1024
                            :adjustable t
                            :fill-pointer 0))

(defun test1 ()
  (loop
     repeat *allocations*
     do
       (vector-push-extend (make-array *alloc-size*
                                       :element-type '(unsigned-byte 8)
                                       :adjustable nil
                                       :initial-element #x00
                                       :fill-pointer *alloc-size*)
                           *queue*
                           0))) ; Grows automatically +1/2 size on ECL

Run (test1) as often as necessary (and observe heap grow in top(1) etc).

What remains to do before this branch can be merged:
- More testing, and confirmation that 50MB heap_gap is enough for others
- Removal of debug messages
- Perhaps issuing a single message about the size the heap was changed to
  and why, but only when in ECL-REPL interactive mode startup
- If possible, determining the value for heap_gap at runtime,
  instead of guessing it, but it seems tricky to do portably.

9 years ago- Use %zd rather than %d for the w() verbose debug function
Matthew Mondor [Fri, 28 Aug 2015 20:00:32 +0000 (16:00 -0400)]
- Use %zd rather than %d for the w() verbose debug function
- Cleanup code, first start with hard limit, then soft limit

9 years agochangelog: add new MP functions
Daniel Kochmański [Fri, 28 Aug 2015 11:21:14 +0000 (13:21 +0200)]
changelog: add new MP functions

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>