fix 64-bit issue in runtime

cvs
Slava Pestov 2005-12-05 03:29:55 +00:00
parent 66c0c2875c
commit aed2d90b30
4 changed files with 19 additions and 4 deletions

View File

@ -1,6 +1,8 @@
+ 0.80:
- need something like uncons but for arbitrary sequences
- on win64: to_cell will break
- .h .b .o for ratios and floats is broken
word help sections:
- synopsis

View File

@ -15,9 +15,8 @@ math memory namespaces ;
compiled-offset 8 align set-compiled-offset ; inline
: add-literal ( obj -- lit# )
address
literal-top set-compiled-cell
literal-top dup cell + set-literal-top ;
address literal-top [ set-compiled-cell ] keep
dup cell + set-literal-top ;
: assemble-1 ( n -- )
compiled-offset set-compiled-1

View File

@ -32,3 +32,17 @@ USING: arrays alien kernel kernel-internals namespaces test ;
-1 "dump" get 0 set-alien-signed-8
"dump" get 0 alien-signed-8
] unit-test
cell 8 = [
[ HEX: 123412341234 ] [
8 <byte-array>
HEX: 123412341234 over 0 set-alien-signed-8
0 alien-signed-8
] unit-test
[ HEX: 123412341234 ] [
8 <byte-array>
HEX: 123412341234 over 0 set-alien-signed-cell
0 alien-signed-cell
] unit-test
] when

View File

@ -117,7 +117,7 @@ void primitive_set_alien_##name (void) \
*ptr = value; \
}
DEF_ALIEN_SLOT(signed_cell,int,signed_cell)
DEF_ALIEN_SLOT(signed_cell,F_FIXNUM,signed_cell)
DEF_ALIEN_SLOT(unsigned_cell,CELL,unsigned_cell)
DEF_ALIEN_SLOT(signed_8,s64,signed_8)
DEF_ALIEN_SLOT(unsigned_8,u64,unsigned_8)