} case ;
M: ppc.32 %load-memory-imm
- [
+ or* [
pick %trap-null
{
{ c:char [ [ dup ] 2dip LBZ dup EXTSB ] }
{ float-rep [ LFS ] }
{ double-rep [ LFD ] }
} case
- ] ?if-old ;
+ ] if ;
M: ppc.64 %load-memory-imm
- [
+ or* [
pick %trap-null
{
{ c:char [ [ dup ] 2dip LBZ dup EXTSB ] }
{ float-rep [ [ scratch-reg ] dip LI scratch-reg LFSX ] }
{ double-rep [ [ scratch-reg ] dip LI scratch-reg LFDX ] }
} case
- ] ?if-old ;
+ ] if ;
M: ppc.32 %load-memory
[ [ 0 assert= ] bi@ ] 2dip
- [
+ or* [
pick %trap-null
{
{ c:char [ [ LBZX ] [ drop dup EXTSB ] 2bi ] }
{ float-rep [ LFSX ] }
{ double-rep [ LFDX ] }
} case
- ] ?if-old ;
+ ] if ;
M: ppc.64 %load-memory
[ [ 0 assert= ] bi@ ] 2dip
- [
+ or* [
pick %trap-null
{
{ c:char [ [ LBZX ] [ drop dup EXTSB ] 2bi ] }
{ float-rep [ LFSX ] }
{ double-rep [ LFDX ] }
} case
- ] ?if-old ;
+ ] if ;
M: ppc.32 %store-memory-imm
- [
+ or* [
{
{ c:char [ STB ] }
{ c:uchar [ STB ] }
{ float-rep [ STFS ] }
{ double-rep [ STFD ] }
} case
- ] ?if-old ;
+ ] if ;
M: ppc.64 %store-memory-imm
- [
+ or* [
{
{ c:char [ STB ] }
{ c:uchar [ STB ] }
{ float-rep [ [ scratch-reg ] dip LI scratch-reg STFSX ] }
{ double-rep [ [ scratch-reg ] dip LI scratch-reg STFDX ] }
} case
- ] ?if-old ;
+ ] if ;
M: ppc.32 %store-memory
[ [ 0 assert= ] bi@ ] 2dip
- [
+ or* [
{
{ c:char [ STBX ] }
{ c:uchar [ STBX ] }
{ float-rep [ STFSX ] }
{ double-rep [ STFDX ] }
} case
- ] ?if-old ;
+ ] if ;
M: ppc.64 %store-memory
[ [ 0 assert= ] bi@ ] 2dip
- [
+ or* [
{
{ c:char [ STBX ] }
{ c:uchar [ STBX ] }
{ float-rep [ STFSX ] }
{ double-rep [ STFDX ] }
} case
- ] ?if-old ;
+ ] if ;
M:: ppc %allot ( dst size class nursery-ptr -- )
! dst = vm->nursery.here;