Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
3b4f3977 by Raymond Toy at 2017-08-30T21:21:56-07:00
Fix compiler warning about else
Add braces around the else clause that's indented as if it were part
of the else clause. Inspection of the algorithm indicates that this
is probably the intended code and in this case doesn't change what
gets executed because the following statements would have been anyway.
Also verified a few random values that `(asin x)` and `(asin (float x
1w0))` produce the same values. Only need to test 2^-27 <= x < 0.5.
- - - - -
1 changed file:
- src/lisp/e_asin.c
Changes:
=====================================
src/lisp/e_asin.c
=====================================
--- a/src/lisp/e_asin.c
+++ b/src/lisp/e_asin.c
@@ -94,12 +94,13 @@ qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
}
return x;
- } else
+ } else {
t = x*x;
p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
w = p/q;
return x+x*w;
+ }
}
/* 1> |x|>= 0.5 */
w = one-fabs(x);
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/3b4f3977d3260cb81c41c1d15…
---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/3b4f3977d3260cb81c41c1d15…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
c40b7a6b by Raymond Toy at 2017-08-29T10:38:13-07:00
Fix #40: Move start of heap space higher
This is a workaround for issue #40. By moving the start of the heap
to a higher address, we can still run on older systems (albeit with
reduced max heap size), and run on newer systesm where the C code is
now mapped at or overlapping the (old) heap start. Arbitrarily choose
0x60000000 as a compromise.
This also requires moving the foreign linkage start to a different
address because the old address overlaps the new C area.
Ideally, we could fix this if we could map the heap wherever the OS
wants to put it, but we're not there yet.
Use boot-2017-04.lisp to bootstrap this change from the 2017-04
snapshot.
- - - - -
48f8ebb9 by Raymond Toy at 2017-08-29T10:54:21-07:00
Add handler-bind to auto restart
Changing defconstant's signal an error. Add a handler-bind to restart
and continue with the changed values.
- - - - -
aba0bc5c by Raymond Toy at 2017-08-29T10:56:15-07:00
Rename to boot-2017-04-1.lisp
- - - - -
dbf7c0af by Raymond Toy at 2017-08-29T18:31:19+00:00
Merge branch 'rtoy-fix-40-map-heap-higher' into 'master'
Fix #40: Move start of heap space higher
Closes #40
See merge request !21
- - - - -
3 changed files:
- + src/bootfiles/21b/boot-2017-04-1.lisp
- src/compiler/x86/parms.lisp
- src/lisp/x86-validate-linux.h
Changes:
=====================================
src/bootfiles/21b/boot-2017-04-1.lisp
=====================================
--- /dev/null
+++ b/src/bootfiles/21b/boot-2017-04-1.lisp
@@ -0,0 +1,28 @@
+;; Bootstrap file for linuu to move the heap to a higher address so
+;; that executables will work on newer OSes, as mentioned in issue
+;; #40.
+;;
+;; Use "bin/build.sh -B boot-2017-04" to build this.
+;;
+;; Also need to move the foreign linkage start to a different address
+;; because this also overlaps where the C code is placed in an
+;; executable image.
+;;
+;; This reduces the max total heap space on older systems, but it
+;; looks like newer systems have the C libraries and stack mapped at a
+;; much higher address.
+
+#+linux
+(setf (c::backend-foreign-linkage-space-start c::*target-backend*)
+ #x5f000000)
+
+#+linux
+(handler-bind
+ ((error (lambda (c)
+ (declare (ignore c))
+ (invoke-restart 'continue))))
+ (defconstant vm::target-foreign-linkage-space-start
+ (c:backend-foreign-linkage-space-start c::*target-backend*))
+
+ (defconstant vm::target-dynamic-space-start
+ #x60000000))
=====================================
src/compiler/x86/parms.lisp
=====================================
--- a/src/compiler/x86/parms.lisp
+++ b/src/compiler/x86/parms.lisp
@@ -64,7 +64,7 @@
(setf (backend-page-size *target-backend*) 4096)
(setf (c::backend-foreign-linkage-space-start *target-backend*)
- #+linux #x58000000
+ #+linux #x5f000000
#+solaris #x30000000
#-(or linux solaris) #xB0000000
(c::backend-foreign-linkage-entry-size *target-backend*)
@@ -235,7 +235,7 @@
#+FreeBSD #x28F00000
#-FreeBSD #x28000000)
(defconstant target-dynamic-space-start
- #+linux #x58100000
+ #+linux #x60000000
#+solaris #x40000000
#-(or linux solaris) #x48000000)
(defconstant target-foreign-linkage-space-start
=====================================
src/lisp/x86-validate-linux.h
=====================================
--- a/src/lisp/x86-validate-linux.h
+++ b/src/lisp/x86-validate-linux.h
@@ -37,6 +37,24 @@
* However, Fedora 22 ther appears to be nothing mapped there. In
* fact it appears to be free all the way to 0xf7c1b000. That would
* allow a heap of size 2555 MB.
+ *
+ * On even newer OSes like Ubuntu 17.04, the map looks something like
+ *
+ * 0x00000000->0x10000000 128M ?
+ * 0x10000000->0x20000000 256M Read-Only Space.
+ * 0x20000000->0x28000000 128M Binding stack growing up.
+ * 0x28000000->0x38000000 256M Static Space.
+ * 0x38000000-> ?
+ * 0x56555000-> C space
+ * 0xf7dfe000-> [anon]
+ * 0xf7e00000->0xf7fb4000 libc.so
+ * 0xf7fb5000->0xf7fd9000 [anon]
+ * 0xf7fd9000->0xf7ffd000 ld.so
+ * 0xfffdd000-> [stack]
+ *
+ * There's a potential clash if the lisp heap is mapped near
+ * 0x58100000 as shown above. This happens if a lisp exectuable image
+ * is created.
*/
#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/2830e140d5c70d34cfbe32ad…
---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/2830e140d5c70d34cfbe32ad…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch rtoy-fix-40-map-heap-higher at cmucl / cmucl
Commits:
48f8ebb9 by Raymond Toy at 2017-08-29T10:54:21-07:00
Add handler-bind to auto restart
Changing defconstant's signal an error. Add a handler-bind to restart
and continue with the changed values.
- - - - -
aba0bc5c by Raymond Toy at 2017-08-29T10:56:15-07:00
Rename to boot-2017-04-1.lisp
- - - - -
1 changed file:
- src/bootfiles/21b/boot-2017-04.lisp → src/bootfiles/21b/boot-2017-04-1.lisp
Changes:
=====================================
src/bootfiles/21b/boot-2017-04.lisp → src/bootfiles/21b/boot-2017-04-1.lisp
=====================================
--- a/src/bootfiles/21b/boot-2017-04.lisp
+++ b/src/bootfiles/21b/boot-2017-04-1.lisp
@@ -17,9 +17,12 @@
#x5f000000)
#+linux
-(defconstant vm::target-foreign-linkage-space-start
- (c:backend-foreign-linkage-space-start c::*target-backend*))
+(handler-bind
+ ((error (lambda (c)
+ (declare (ignore c))
+ (invoke-restart 'continue))))
+ (defconstant vm::target-foreign-linkage-space-start
+ (c:backend-foreign-linkage-space-start c::*target-backend*))
-#+linux
-(defconstant vm::target-dynamic-space-start
- #x60000000)
+ (defconstant vm::target-dynamic-space-start
+ #x60000000))
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/c40b7a6bd91ee60ec4e1fbbf…
---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/c40b7a6bd91ee60ec4e1fbbf…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
2830e140 by Raymond Toy at 2017-08-26T21:53:36-07:00
Print more info for dynamic space lossage
If we get dynamic space lossage, print out the actual address and the
expected addresses for the dynamic space so we can see what happened.
This is really useful if you change the dynamic space address but
didn't update everything correctly.
- - - - -
1 changed file:
- src/lisp/coreparse.c
Changes:
=====================================
src/lisp/coreparse.c
=====================================
--- a/src/lisp/coreparse.c
+++ b/src/lisp/coreparse.c
@@ -57,8 +57,13 @@ process_directory(int fd, long *ptr, int count)
switch (id) {
case DYNAMIC_SPACE_ID:
if (addr != (os_vm_address_t) dynamic_0_space
- && addr != (os_vm_address_t) dynamic_1_space)
- printf("Strange ... dynamic space lossage.\n");
+ && addr != (os_vm_address_t) dynamic_1_space) {
+ printf("Strange ... dynamic space lossage: addr = %p, expected %p or %p\n",
+ addr,
+ (os_vm_address_t) dynamic_0_space,
+ (os_vm_address_t) dynamic_1_space);
+ }
+
current_dynamic_space = (lispobj *) addr;
#if defined(ibmrt) || defined(i386) || defined(__x86_64)
SetSymbolValue(ALLOCATION_POINTER, (lispobj) free_pointer);
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/2830e140d5c70d34cfbe32ad1…
---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/2830e140d5c70d34cfbe32ad1…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits:
39b6b59b by Fred Gilham at 2017-03-21T18:16:45-07:00
Changes to allow building CMUCL under FreeBSD 10 and later.
- - - - -
58112c5f by Fred Gilham at 2017-03-22T15:30:55-07:00
Final cleaned-up changes for FreeBSD 10.
- - - - -
f2f28a17 by Fred Gilham at 2017-03-23T08:27:29-07:00
Add a note about FreeBSD 10+ requirements.
- - - - -
0ca9e59f by Fred Gilham at 2017-03-23T20:03:18-07:00
Test the commit email stuff with bogus change.
- - - - -
8ba846d5 by Fred Gilham at 2017-03-23T20:10:52-07:00
Undo bogus change.
- - - - -
2830d003 by Fred Gilham at 2017-03-23T20:17:53-07:00
Bogus change for testing #2.
- - - - -
27bc505c by Fred Gilham at 2017-03-23T20:25:16-07:00
Still testing email.
- - - - -
f03efa3a by Raymond Toy at 2017-03-25T10:54:11-07:00
Edit to test commit list.
- - - - -
fd2b85d7 by Raymond Toy at 2017-04-06T20:20:30-07:00
Upgrade to ASDF 3.2.1.
- - - - -
8323199a by Raymond Toy at 2017-04-06T20:20:46-07:00
Update ASDF documentation to 3.2.1
- - - - -
fbfc55c1 by Raymond Toy at 2017-04-08T07:27:50-07:00
Update
- - - - -
3e1e87d3 by Raymond Toy at 2017-07-31T21:24:24-07:00
Merge branch 'master' into sparc64-dev
- - - - -
0 changed files:
Changes:
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/ad3467cf42856ce3faa1b1a4…
---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/ad3467cf42856ce3faa1b1a4…
You're receiving this email because of your account on gitlab.common-lisp.net.