aboutsummaryrefslogtreecommitdiff
path: root/lcode.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-03-07 10:22:55 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-03-07 10:22:55 -0300
commit5e870f86a255988ca85eda795adc31063ec1ac70 (patch)
tree72c428d85c63cd8930217497652bfc387a57ba83 /lcode.c
parentf81b8adb3f2738d2895511082793af622e8581d8 (diff)
downloadlua-5e870f86a255988ca85eda795adc31063ec1ac70.tar.gz
lua-5e870f86a255988ca85eda795adc31063ec1ac70.tar.bz2
lua-5e870f86a255988ca85eda795adc31063ec1ac70.zip
optimization for tailcall does not seem to pay itself
Diffstat (limited to 'lcode.c')
-rw-r--r--lcode.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/lcode.c b/lcode.c
index 5432f662..9ef6c781 100644
--- a/lcode.c
+++ b/lcode.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lcode.c,v 1.63 2001/02/23 17:17:25 roberto Exp roberto $ 2** $Id: lcode.c,v 1.64 2001/02/23 20:28:19 roberto Exp roberto $
3** Code generator for Lua 3** Code generator for Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -482,14 +482,6 @@ int luaK_code2 (FuncState *fs, OpCode o, int arg1, int arg2) {
482 pop = 2*arg1; 482 pop = 2*arg1;
483 break; 483 break;
484 } 484 }
485 case OP_RETURN: {
486 if (GET_OPCODE(i) == OP_CALL && GETARG_B(i) == MULT_RET) {
487 SET_OPCODE(i, OP_TAILCALL);
488 SETARG_B(i, arg1);
489 optm = 1;
490 }
491 break;
492 }
493 case OP_PUSHNIL: { 485 case OP_PUSHNIL: {
494 if (arg1 == 0) return NO_JUMP; /* nothing to do */ 486 if (arg1 == 0) return NO_JUMP; /* nothing to do */
495 push = arg1; 487 push = arg1;
@@ -632,7 +624,6 @@ int luaK_code2 (FuncState *fs, OpCode o, int arg1, int arg2) {
632 } 624 }
633 case OP_GETDOTTED: 625 case OP_GETDOTTED:
634 case OP_GETINDEXED: 626 case OP_GETINDEXED:
635 case OP_TAILCALL:
636 case OP_ADDI: { 627 case OP_ADDI: {
637 lua_assert(0); /* instruction used only for optimizations */ 628 lua_assert(0); /* instruction used only for optimizations */
638 break; 629 break;
@@ -669,7 +660,6 @@ int luaK_code2 (FuncState *fs, OpCode o, int arg1, int arg2) {
669const OpProperties luaK_opproperties[] = { 660const OpProperties luaK_opproperties[] = {
670 {iU, 0, 0}, /* OP_RETURN */ 661 {iU, 0, 0}, /* OP_RETURN */
671 {iAB, 0, 0}, /* OP_CALL */ 662 {iAB, 0, 0}, /* OP_CALL */
672 {iAB, 0, 0}, /* OP_TAILCALL */
673 {iU, VD, 0}, /* OP_PUSHNIL */ 663 {iU, VD, 0}, /* OP_PUSHNIL */
674 {iU, 0, VD}, /* OP_POP */ 664 {iU, 0, VD}, /* OP_POP */
675 {iS, 1, 0}, /* OP_PUSHINT */ 665 {iS, 1, 0}, /* OP_PUSHINT */