[ [ cc= ^^compare-integer ] binary-op ] [ [ cc= ^^compare ] binary-op ] if ;
: emit-special-object ( block node -- block' )
- dup node-input-infos first literal>> [
+ [ node-input-infos first literal>> ] [
ds-drop
vm-special-object-offset ^^vm-field
ds-push
- ] [ emit-primitive ] ?if ;
+ ] [ emit-primitive ] ??if ;
: emit-set-special-object ( block node -- block' )
- dup node-input-infos second literal>> [
+ [ node-input-infos second literal>> ] [
ds-drop
[ ds-pop ] dip vm-special-object-offset ##set-vm-field,
- ] [ emit-primitive ] ?if ;
+ ] [ emit-primitive ] ??if ;
: context-object-offset ( n -- n )
cells "context-objects" context offset-of + ;
: emit-context-object ( block node -- block' )
- dup node-input-infos first literal>> [
+ [ node-input-infos first literal>> ] [
"ctx" vm offset-of ^^vm-field
ds-drop swap context-object-offset cell /i 0 ^^slot-imm ds-push
- ] [ emit-primitive ] ?if ;
+ ] [ emit-primitive ] ??if ;
: emit-identity-hashcode ( -- )
[