[ [ drop 1array ] [ [+] ] 2bi ] 2dip ;
: (%load-memory) ( dst exclude address rep c-type -- )
- [
+ or* [
{
{ c:char [ 8 %alien-signed-getter ] }
{ c:uchar [ 8 %alien-unsigned-getter ] }
{ c:int [ 32 %alien-signed-getter ] }
{ c:uint [ 32 [ 2drop ] %alien-integer-getter ] }
} case
- ] [ nipd %copy ] ?if-old ;
+ ] [ nipd %copy ] if ;
M: x86 %load-memory
(%memory) (%load-memory) ;
(%memory-imm) (%load-memory) ;
: (%store-memory) ( src exclude address rep c-type -- )
- [
+ or* [
{
{ c:char [ 8 %alien-integer-setter ] }
{ c:uchar [ 8 %alien-integer-setter ] }
{ c:int [ 32 %alien-integer-setter ] }
{ c:uint [ 32 %alien-integer-setter ] }
} case
- ] [ [ nip swap ] dip %copy ] ?if-old ;
+ ] [ [ nip swap ] dip %copy ] if ;
M: x86 %store-memory
(%memory) (%store-memory) ;