diff options
| author | Mike Pall <mike> | 2016-02-10 18:51:02 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2016-02-10 18:51:02 +0100 |
| commit | a44388967763d0f7f5f78dfd71703437afa69fc0 (patch) | |
| tree | e8ae572e8b2c446c669190ba9cac1592a345c669 /src/lj_asm_arm.h | |
| parent | 3d4c9f96391b38fc02536bd4147545f08ae7c1e9 (diff) | |
| download | luajit-a44388967763d0f7f5f78dfd71703437afa69fc0.tar.gz luajit-a44388967763d0f7f5f78dfd71703437afa69fc0.tar.bz2 luajit-a44388967763d0f7f5f78dfd71703437afa69fc0.zip | |
Don't allocate unused 2nd result register in JIT compiler backend.
Diffstat (limited to 'src/lj_asm_arm.h')
| -rw-r--r-- | src/lj_asm_arm.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm_arm.h b/src/lj_asm_arm.h index 9e4cf436..ba65f45b 100644 --- a/src/lj_asm_arm.h +++ b/src/lj_asm_arm.h | |||
| @@ -426,7 +426,7 @@ static void asm_gencall(ASMState *as, const CCallInfo *ci, IRRef *args) | |||
| 426 | static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci) | 426 | static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci) |
| 427 | { | 427 | { |
| 428 | RegSet drop = RSET_SCRATCH; | 428 | RegSet drop = RSET_SCRATCH; |
| 429 | int hiop = ((ir+1)->o == IR_HIOP); | 429 | int hiop = ((ir+1)->o == IR_HIOP && !irt_isnil((ir+1)->t)); |
| 430 | if (ra_hasreg(ir->r)) | 430 | if (ra_hasreg(ir->r)) |
| 431 | rset_clear(drop, ir->r); /* Dest reg handled below. */ | 431 | rset_clear(drop, ir->r); /* Dest reg handled below. */ |
| 432 | if (hiop && ra_hasreg((ir+1)->r)) | 432 | if (hiop && ra_hasreg((ir+1)->r)) |
