deepjit: 1326 => 1246
[calu.git] / progs / deepjit.s
index cbef6eab23ed6657b1e7996a72184832b83d74de..5f8d62b30a89816ba5674413dfe2336e04892ade 100644 (file)
@@ -76,8 +76,7 @@ prog_jmp:
 .ifill cmpi r6,0;0xecb00000
 .ifill pop r6
 ;static calced
-.fill 1, 0x1b000103;breq- vm_next
-.fill 1, 0xeb000003;br+ CONST
+.fill 1, 0x0b000003;brne+ CONST
 
 prog_imm:
 .ifill push r6
@@ -235,7 +234,7 @@ vm_eof:
        ldil r7, prog_jmp@lo
        ldih r7, prog_jmp@hi
        ;load branch template
-       ldw r7, 12(r7)
+       ldw r7, 8(r7)
 
        ;if actual and base are equal, no entry
        cmp r9, r10
@@ -483,13 +482,8 @@ vm_jmp:
        ldw r0, 4(r4)
        PROGINSTR
 
-       ;breq+ vm_next
-       ;is statically known
-       ldw r0, 8(r4)
-       PROGINSTR
-
        ;we add the offset to this instruction
-       addi r8, r2, 3
+       addi r8, r2, 2
 
 
        ;we know calculate the jump destination
@@ -526,12 +520,12 @@ vm_jmp:
        ;shift to the position of imm in br
        lls r8, r8, 7
        ;load template br
-       ldw r0, 12(r4)
+       ldw r0, 8(r4)
        or r0, r0, r8
        PROGINSTR
 
        ;increment address
-       addi r2, r2, 4
+       addi r2, r2, 3
 
        br+ vm_loop
 
@@ -557,7 +551,7 @@ vm_possign:
        ;increment defer table address
        addi r9, r9, 8
        ;increment address
-       addi r2, r2, 4
+       addi r2, r2, 3
        br+ vm_loop
 
 ;case P