Commit Graph

407 Commits (b861c09e9f128c00fa26109b5d7289826dcfd76f)

Author SHA1 Message Date
slava b861c09e9f Clean up AGL's patch 2006-02-08 00:09:46 +00:00
agl d088a97f82 Add data/return stack under/over flow checks for POSIX
This adds extra errors:
#define ERROR_STACK_UNDERFLOW (12<<3)
#define ERROR_STACK_OVERFLOW (13<<3)
#define ERROR_RETSTACK_UNDERFLOW (14<<3)
#define ERROR_RETSTACK_OVERFLOW (15<<3)

On unix the data and return stacks have poison pages above and below them in
memory. This patch adds checks to the sigv signal handler which checks to see
if the faulting address is in one of these pages and, if so, triggers the
correct error.

To see:
: data-overflow 1 2 3 data-overflow ;
: ret-underflow V{ } set-callstack r> ;
: ret-overflow 1 >r ret-overflow ;

(to test data-underflow just call + with an empty stack)


AGL
2006-02-07 22:29:36 +00:00
slava f353ea347b Minor Windows build fixes 2006-02-07 19:37:32 +00:00
slava ac68a16492 FFI now supports passing structs by value
So far, this is only supported on PowerPC.
2006-02-06 06:43:59 +00:00
slava 9e5b6424a1 Initial revision 2006-02-01 02:31:53 +00:00
Slava Pestov 2acb28ae0c Solaris/x86 support 2006-01-31 19:31:31 +00:00
Doug Coleman ace98260e3 Added a fix for sigaction(): now retries on recoverable error EINTR 2006-01-31 01:11:22 +00:00
Slava Pestov fd59c87eae AMD64 FFI fixes; httpd load fix; minor opengl optimization 2006-01-30 07:03:34 +00:00
Slava Pestov 13ef8f9412 cell fix; experimental preferred size cache; floor/ceiling/truncate/mod for floats; fix mod for ratios; fix float equality test 2006-01-27 04:01:14 +00:00
Slava Pestov 64e50829b7 double default heap sizes on amd64 2006-01-25 06:26:31 +00:00
Slava Pestov 2ee22aad49 float parameters work 2006-01-25 06:18:12 +00:00
Slava Pestov 1177038cec stub out AMD64 float parameter code 2006-01-25 01:20:20 +00:00
Slava Pestov 9ea2332a2b FFI work 2006-01-25 00:56:08 +00:00
Slava Pestov df4c2fc067 fix fixnum-shift overflow check 2006-01-21 08:23:14 +00:00
Slava Pestov f9db19f917 fixes 2006-01-21 02:37:38 +00:00
Slava Pestov b67c8ceb16 boxing a null pointer pushes f 2006-01-10 02:17:58 +00:00
Slava Pestov 53c6cb2179 make class< a bit faster, mutable strings 2005-12-26 02:05:31 +00:00
Slava Pestov 346cb9cb7d C type cleanup 2005-12-25 22:46:21 +00:00
Slava Pestov 2f73851117 fix typo 2005-12-25 06:00:10 +00:00
Slava Pestov a5e14acaa3 fix a crash 2005-12-25 04:01:49 +00:00
Slava Pestov dec98203d3 remove repetitions 2005-12-24 23:29:31 +00:00
Slava Pestov 636b46c5b9 fix compile warnings on 64-bit platforms 2005-12-21 07:47:45 +00:00
Slava Pestov 0e6236e6f6 win64 fixes in runtime 2005-12-21 02:36:52 +00:00
Slava Pestov 6c5819af56 fix missing GC check 2005-12-13 01:53:55 +00:00
Slava Pestov ff3876e221 win32 compile error fix 2005-12-13 00:36:16 +00:00
Slava Pestov 58a3e3ed16 new alien>string and string>alien primitives; powerpc backend fixes 2005-12-12 23:51:45 +00:00
Slava Pestov 3bec501259 latest fixes 2005-12-11 23:27:39 +00:00
Slava Pestov 1086f8b3e3 64-bit relocation 2005-12-11 20:14:41 +00:00
Slava Pestov b0cfcca990 fix AMD64 %fixnum* overflow 2005-12-11 03:48:09 +00:00
Slava Pestov aed2d90b30 fix 64-bit issue in runtime 2005-12-05 03:29:55 +00:00
Slava Pestov ca14fd7b1c amd64 work 2005-12-04 07:30:19 +00:00
Slava Pestov d8384c12c9 initial AMD64 porting work 2005-12-02 07:25:44 +00:00
Slava Pestov 4435110231 string hashing kludge; amd64 cpu detection 2005-12-02 04:40:44 +00:00
Slava Pestov 9ef9193308 new hashtable 2005-11-27 22:45:48 +00:00
Slava Pestov eca20beec0 about to bootstrap hashstable 2005-11-25 00:02:20 +00:00
Slava Pestov 036d1f9673 bootstrap fix 2005-11-15 17:58:44 +00:00
Slava Pestov a651cc87b1 various fixes to inference, experimenting with %char-slot vops and interruption checks 2005-11-14 03:04:14 +00:00
Slava Pestov 9440f385e5 interruption checks get compiled now, fixnum/mod fixed on powerpc 2005-11-12 05:37:24 +00:00
Slava Pestov a3687773b5 fix array size fep 2005-11-05 03:50:26 +00:00
Slava Pestov 9d2e4a77a6 fix another Mach-O FFI problem 2005-10-24 02:31:01 +00:00
Slava Pestov b15a262e54 implement mach exception handling 2005-10-24 00:50:29 +00:00
Slava Pestov 3ff1915f1a UI fixes for OS X, compiler fixes for PowerPC 2005-10-12 03:28:17 +00:00
Slava Pestov 29104bb40e fix powerpc relocation bug 2005-10-12 01:46:14 +00:00
Slava Pestov 6b8e232c63 fix bignum emission, put MT in core 2005-10-08 05:15:14 +00:00
Doug Coleman 26d0e7ede5 call get_error_message() for an F_STRING instead of char* 2005-10-07 22:50:31 +00:00
Doug Coleman 7242f38fd7 get_error_message() is for native calls in native/win32/ffi.c
error_message() is called via alien-invoke from factor code
bugfix: the last "fix" caused the factor runtime to get a char* instead of F_STRING
2005-10-06 22:10:27 +00:00
Doug Coleman fa122fd1c0 buffer_to_c_string() now uses strlen() 2005-10-05 04:24:19 +00:00
Doug Coleman 443acc846a Added buffer_to_c_string to go from a win32-api-allocated buffer to a gc-ed char*
Changed whitespace removal
2005-10-05 04:06:57 +00:00
Doug Coleman 7fc87a420b Include ctype.h for isspace() only in win32 2005-10-05 04:02:24 +00:00
Doug Coleman 62958f570e Remove implicit declaration of init_signals() on win32 2005-10-05 03:16:30 +00:00