Fix bug in <displaced-alien> found by Joe
parent
ceac27d4de
commit
86f476a23d
|
@ -1,5 +1,5 @@
|
||||||
IN: alien.tests
|
IN: alien.tests
|
||||||
USING: alien alien.accessors alien.syntax byte-arrays arrays
|
USING: accessors alien alien.accessors alien.syntax byte-arrays arrays
|
||||||
kernel kernel.private namespaces tools.test sequences libc math
|
kernel kernel.private namespaces tools.test sequences libc math
|
||||||
system prettyprint layouts ;
|
system prettyprint layouts ;
|
||||||
|
|
||||||
|
@ -65,6 +65,10 @@ cell 8 = [
|
||||||
|
|
||||||
[ f ] [ 0 B{ 1 2 3 } <displaced-alien> pinned-c-ptr? ] unit-test
|
[ f ] [ 0 B{ 1 2 3 } <displaced-alien> pinned-c-ptr? ] unit-test
|
||||||
|
|
||||||
|
[ f ] [ 0 B{ 1 2 3 } <displaced-alien> 1 swap <displaced-alien> pinned-c-ptr? ] unit-test
|
||||||
|
|
||||||
|
[ t ] [ 0 B{ 1 2 3 } <displaced-alien> 1 swap <displaced-alien> underlying>> byte-array? ] unit-test
|
||||||
|
|
||||||
[ "( displaced alien )" ] [ 0 B{ 1 2 3 } <displaced-alien> unparse ] unit-test
|
[ "( displaced alien )" ] [ 0 B{ 1 2 3 } <displaced-alien> unparse ] unit-test
|
||||||
|
|
||||||
[ f ] [ DLL" fadfasdfsada" dll-valid? ] unit-test
|
[ f ] [ DLL" fadfasdfsada" dll-valid? ] unit-test
|
||||||
|
|
|
@ -62,7 +62,7 @@ CELL allot_alien(CELL delegate, CELL displacement)
|
||||||
{
|
{
|
||||||
F_ALIEN *delegate_alien = untag_object(delegate);
|
F_ALIEN *delegate_alien = untag_object(delegate);
|
||||||
displacement += delegate_alien->displacement;
|
displacement += delegate_alien->displacement;
|
||||||
alien->alien = F;
|
alien->alien = delegate_alien->alien;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
alien->alien = delegate;
|
alien->alien = delegate;
|
||||||
|
|
Loading…
Reference in New Issue