| Index: pnacl/support/setjmp_mips32.S
|
| diff --git a/pnacl/support/setjmp_mips32.S b/pnacl/support/setjmp_mips32.S
|
| index 3a906f47343a3fb4b115aefc7d818c9c30a1ceca..fd601b14821f690d467a943a1e35ffb82bf5aa13 100644
|
| --- a/pnacl/support/setjmp_mips32.S
|
| +++ b/pnacl/support/setjmp_mips32.S
|
| @@ -17,74 +17,34 @@
|
| /* int setjmp(jmp_buf env) */
|
| setjmp:
|
|
|
| - /* The code here is grouped by instruction bundle. */
|
| -
|
| /* NACL_CALLEE_SAVE_LIST BEGIN */
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s0, 0($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s1, 4($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s2, 8($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s3, 12($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s4, 16($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s5, 20($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s6, 24($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - sw $s7, 28($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - sw $sp, 32($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - sw $fp, 36($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - sw $ra, 40($a0)
|
| - and $a0, $a0, STORE_MASK
|
| + sw $s0, 0($a0)
|
| + sw $s1, 4($a0)
|
| + sw $s2, 8($a0)
|
| + sw $s3, 12($a0)
|
| + sw $s4, 16($a0)
|
| + sw $s5, 20($a0)
|
| + sw $s6, 24($a0)
|
| + sw $s7, 28($a0)
|
| + sw $sp, 32($a0)
|
| + sw $fp, 36($a0)
|
| + sw $ra, 40($a0)
|
| swc1 $f20, 44($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f21, 48($a0)
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f22, 52($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f23, 56($a0)
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f24, 60($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f25, 64($a0)
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f26, 68($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f27, 72($a0)
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f28, 76($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f29, 80($a0)
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f30, 84($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| swc1 $f31, 88($a0)
|
| /* NACL_CALLEE_SAVE_LIST END */
|
| - move $v0, $zero
|
| - nop
|
| -
|
| - and $ra, $ra, JUMP_MASK
|
| + move $v0, $zero
|
| j $ra
|
| - nop
|
| - nop
|
| + nop /* delay slot */
|
|
|
| .end setjmp
|
|
|
| @@ -99,77 +59,38 @@ setjmp:
|
| longjmp:
|
|
|
| /* NACL_CALLEE_LOAD_LIST BEGIN */
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s0, 0($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s1, 4($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s2, 8($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s3, 12($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s4, 16($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s5, 20($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s6, 24($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - lw $s7, 28($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - lw $sp, 32($a0)
|
| - and $sp, $sp, STORE_MASK
|
| - nop
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| - lw $fp, 36($a0)
|
| - and $a0, $a0, STORE_MASK
|
| - lw $ra, 40($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| + lw $s0, 0($a0)
|
| + lw $s1, 4($a0)
|
| + lw $s2, 8($a0)
|
| + lw $s3, 12($a0)
|
| + lw $s4, 16($a0)
|
| + lw $s5, 20($a0)
|
| + lw $s6, 24($a0)
|
| + lw $s7, 28($a0)
|
| + lw $sp, 32($a0)
|
| + lw $fp, 36($a0)
|
| + lw $ra, 40($a0)
|
| lwc1 $f20, 44($a0)
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f21, 48($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f22, 52($a0)
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f23, 56($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f24, 60($a0)
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f25, 64($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f26, 68($a0)
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f27, 72($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f28, 76($a0)
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f29, 80($a0)
|
| -
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f30, 84($a0)
|
| - and $a0, $a0, STORE_MASK
|
| lwc1 $f31, 88($a0)
|
| /* NACL_CALLEE_LOAD_LIST END */
|
|
|
| bne $a1, $zero, 1f
|
| - nop
|
| + nop /* delay slot */
|
| ori $a1, $zero, 1
|
| 1:
|
| move $v0, $a1
|
| -
|
| - and $ra, $ra, JUMP_MASK
|
| j $ra
|
| - nop
|
| - nop
|
| + nop /* delay slot */
|
|
|
| .end longjmp
|
|
|
|
|