Go to file
Roberto Ierusalimschy 2316ec4c24 Back with optimization for 'if cond then goto'
Statements like 'if cond then goto label' generate code so that the
jump in the 'if' goes directly to the given label. This optimization
cannot be done when the jump is backwards leaving the scope of some
variable, as it cannot add the needed 'close' instruction. (The jumps
were already generated by the 'if'.)

This commit also added 'likely'/'unlikely' for tests for errors in
the parser, and it changed the way breaks outside loops are detected.
(Now they are detected like other goto's with undefined labels.)
2018-10-30 15:04:19 -03:00
manual Small improvements in the manual 2018-10-22 15:02:09 -03:00
testes Back with optimization for 'if cond then goto' 2018-10-30 15:04:19 -03:00
all Added manual and tests for version 5.4-w2 2018-07-09 12:33:01 -03:00
bugs added patch for bug 5.3.4-7 2018-06-08 13:23:18 -03:00
lapi.c To-be-closed variables in the C API 2018-10-25 15:30:15 -03:00
lapi.h To-be-closed variables in the C API 2018-10-25 15:30:15 -03:00
lauxlib.c Added "emergency collection" to 'io.tmpfile' and 'os.tmpname' 2018-07-27 15:50:53 -03:00
lauxlib.h Added "emergency collection" to 'io.tmpfile' and 'os.tmpname' 2018-07-27 15:50:53 -03:00
lbaselib.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lcode.c Big revamp in the implmentation of labels/gotos 2018-10-29 14:26:48 -03:00
lcode.h Big revamp in the implmentation of labels/gotos 2018-10-29 14:26:48 -03:00
lcorolib.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lctype.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lctype.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ldblib.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ldebug.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ldebug.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ldo.c To-be-closed variables in the C API 2018-10-25 15:30:15 -03:00
ldo.h First "complete" implementation of to-be-closed variables 2018-10-17 10:44:42 -03:00
ldump.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lfunc.c Closing methods should not interfere with returning values 2018-10-25 12:50:20 -03:00
lfunc.h Handling of memory errors when creating to-be-closed upvalues 2018-10-18 16:15:09 -03:00
lgc.c First "complete" implementation of to-be-closed variables 2018-10-17 10:44:42 -03:00
lgc.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
linit.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
liolib.c Added a '__close' metamethod to file handles 2018-10-23 13:57:25 -03:00
ljumptab.h More uniformity in code generation for 'for' loops 2018-10-26 10:38:50 -03:00
llex.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
llex.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
llimits.h Details (comments) 2018-09-11 08:39:12 -03:00
lmathlib.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lmem.c Detail: bad assertion in 'luaM_free_' 2018-10-23 12:58:38 -03:00
lmem.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
loadlib.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lobject.c Corrections in the implementation of '%' for floats. 2018-08-28 12:36:58 -03:00
lobject.h Towards "to closed" local variables 2018-10-08 10:42:07 -03:00
lopcodes.c More uniformity in code generation for 'for' loops 2018-10-26 10:38:50 -03:00
lopcodes.h Big revamp in the implmentation of labels/gotos 2018-10-29 14:26:48 -03:00
lopnames.h More uniformity in code generation for 'for' loops 2018-10-26 10:38:50 -03:00
loslib.c Added "emergency collection" to 'io.tmpfile' and 'os.tmpname' 2018-07-27 15:50:53 -03:00
lparser.c Back with optimization for 'if cond then goto' 2018-10-30 15:04:19 -03:00
lparser.h Big revamp in the implmentation of labels/gotos 2018-10-29 14:26:48 -03:00
lprefix.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lstate.c First "complete" implementation of to-be-closed variables 2018-10-17 10:44:42 -03:00
lstate.h Towards "to closed" local variables 2018-10-08 10:42:07 -03:00
lstring.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lstring.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lstrlib.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ltable.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ltable.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ltablib.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
ltests.c Big revamp in the implmentation of labels/gotos 2018-10-29 14:26:48 -03:00
ltests.h Deprecated the emulation of '__le' using '__lt' 2018-08-24 10:17:54 -03:00
ltm.c First "complete" implementation of to-be-closed variables 2018-10-17 10:44:42 -03:00
ltm.h First "complete" implementation of to-be-closed variables 2018-10-17 10:44:42 -03:00
lua.c Removed use of 'rl_inhibit_completion' in 'lua.c' 2018-08-16 14:38:05 -03:00
lua.h To-be-closed variables in the C API 2018-10-25 15:30:15 -03:00
luaconf.h Deprecated the emulation of '__le' using '__lt' 2018-08-24 10:17:54 -03:00
lualib.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lundump.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lundump.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lutf8lib.c Avoid using 'int' for UTF-8 values 2018-07-12 15:56:44 -03:00
lvm.c More uniformity in code generation for 'for' loops 2018-10-26 10:38:50 -03:00
lvm.h Corrections in the implementation of '%' for floats. 2018-08-28 12:36:58 -03:00
lzio.c Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
lzio.h Removed extra information from RCS keyword strings 2018-08-23 14:26:12 -03:00
makefile several details 2018-06-18 15:25:19 -03:00