 ] rc-relative-ppc-3 rt-xt 0 jit-word-jump jit-define
 
 : jit-call-quot ( -- )
-    temp-reg temp-reg quot-xt@ LWZ             ! load quotation-xt
+    temp-reg quot-reg quot-xt@ LWZ             ! load quotation-xt
     temp-reg MTCTR                             ! jump to quotation-xt
     BCTR ;
 
 [
-    0 temp-reg LOAD32                          ! point quot-reg at false branch
-    aux-reg ds-reg 0 LWZ                       ! load boolean
-    0 aux-reg \ f tag-number CMPI              ! compare it with f
+    0 quot-reg LOAD32                          ! point quot-reg at false branch
+    temp-reg ds-reg 0 LWZ                      ! load boolean
+    0 temp-reg \ f tag-number CMPI             ! compare it with f
     2 BNE                                      ! skip next insn if its not f
-    temp-reg dup 4 ADDI                        ! point quot-reg at true branch
-    temp-reg dup 0 LWZ                         ! load the branch
+    quot-reg dup 4 ADDI                        ! point quot-reg at true branch
+    quot-reg dup 0 LWZ                         ! load the branch
     ds-reg dup 4 SUBI                          ! pop boolean
     jit-call-quot
-] rc-absolute-ppc-2/2 rt-literal 0 jit-if-jump jit-define
+] rc-absolute-ppc-2/2 rt-literal 1 jit-if-jump jit-define
 
 [
-    0 temp-reg LOAD32                          ! load dispatch array
-    temp-reg dup 0 LWZ                         ! indirection
-    aux-reg ds-reg 0 LWZ                       ! load index
-    aux-reg dup 1 SRAWI                        ! turn it into an array offset
-    temp-reg dup aux-reg ADD                   ! compute quotation location
-    temp-reg dup array-start LWZ               ! load quotation
+    0 quot-reg LOAD32                          ! load dispatch array
+    quot-reg dup 0 LWZ                         ! indirection
+    temp-reg ds-reg 0 LWZ                      ! load index
+    temp-reg dup 1 SRAWI                       ! turn it into an array offset
+    quot-reg dup temp-reg ADD                  ! compute quotation location
+    quot-reg dup array-start LWZ               ! load quotation
     ds-reg dup 4 SUBI                          ! pop index
     jit-call-quot
-] rc-absolute-ppc-2/2 rt-literal 0 jit-dispatch jit-define
+] rc-absolute-ppc-2/2 rt-literal 1 jit-dispatch jit-define
 
 [
     0 1 lr-save stack-frame + LWZ              ! load return address

: next-save stack-frame bootstrap-cell - ;
: xt-save stack-frame 2 bootstrap-cells - ;

! jit-profiling

[
    0 temp-reg LOAD32                          ! load XT

! Copyright (C) 2007, 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: bootstrap.image.private kernel namespaces system
cpu.ppc.assembler generator.fixup compiler.constants math
layouts words vocabs ;
IN: bootstrap.ppc

4 \ cell set
