fix 64-bit issue in runtime
parent
66c0c2875c
commit
aed2d90b30
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue