Commit Graph

221 Commits

Author SHA1 Message Date
Roberto Ierusalimschy 1157c2a7e4 better(?) treatment for SETLINE + while optimization is too complex for
only 3% of maximum improvement.
2000-03-20 16:15:37 -03:00
Roberto Ierusalimschy 3860c5934e details. 2000-03-15 17:50:33 -03:00
Roberto Ierusalimschy f0b697e01c details 2000-03-13 17:37:16 -03:00
Roberto Ierusalimschy 73aa465a8e some name changes 2000-03-10 15:37:44 -03:00
Roberto Ierusalimschy e3cf93ddb6 first implementation of "threaded code" for boolean operations 2000-03-09 10:57:37 -03:00
Roberto Ierusalimschy 88b306f495 some optimizations 2000-03-08 21:19:22 -03:00
Roberto Ierusalimschy 563de491be a better way to control optimizations. 2000-03-04 17:18:15 -03:00
Roberto Ierusalimschy 61f97a8ace maybe a concat right associative allows some optimizations... 2000-03-03 17:29:25 -03:00
Roberto Ierusalimschy d1ea38580a change of code generation design (independent functions for each opcode) 2000-03-03 15:53:17 -03:00
Roberto Ierusalimschy 3c9d999424 many details (most by lhf). 2000-03-03 11:58:26 -03:00
Roberto Ierusalimschy f7840a3e0b new algorithm to parse expressions + distribution of code between lparser
and lcode.
2000-03-03 09:33:59 -03:00
Roberto Ierusalimschy 3bc925138e first version of code optimizer 2000-02-22 11:31:43 -02:00
Roberto Ierusalimschy 3afe85b2ce new version for INSTRUCTION formats 2000-02-14 14:51:08 -02:00
Roberto Ierusalimschy 52aad0ab59 removing implementation for better error messages (must rethink it...) 2000-02-11 14:52:54 -02:00
Roberto Ierusalimschy 1f691a4fcd renaming of some opcodes and fields 2000-01-28 14:53:00 -02:00
Roberto Ierusalimschy d83c2a8455 performance details. 2000-01-25 16:44:21 -02:00
Roberto Ierusalimschy d11e5adf55 `const' array in protos breaked in 3 arrays (for strings, numbers, and
prototypes).
2000-01-25 11:57:18 -02:00
Roberto Ierusalimschy 62787f1b1f `exp' is "reserved word" in Visual-C++ ;-) 2000-01-12 14:24:39 -02:00
Roberto Ierusalimschy dcb7bb514e details (error messages) 2000-01-10 15:34:38 -02:00
Roberto Ierusalimschy 4ebc183e56 bug: return gives wrong line in debug information. 1999-12-29 16:07:10 -02:00
Roberto Ierusalimschy 298d0abff7 first version of extra debug information (NAME) 1999-12-29 14:31:15 -02:00
Roberto Ierusalimschy b1b0c219f5 new ttypes to distinguish between C closures and Lua closures. 1999-12-23 16:19:57 -02:00
Roberto Ierusalimschy be3212de78 details 1999-12-22 14:58:36 -02:00
Roberto Ierusalimschy cfdebfbc53 debug information for parameters use line 0 for them (as they are
always visible).
1999-12-21 15:31:28 -02:00
Roberto Ierusalimschy 12b45c2df2 luaS_newfixedstring renamed to luaS_newfixed 1999-12-14 16:42:57 -02:00
Roberto Ierusalimschy 7621cc2aa5 for the future... 1999-12-07 09:36:16 -02:00
Roberto Ierusalimschy fe237ad808 fixed stack; first version. 1999-12-01 17:50:08 -02:00
Roberto Ierusalimschy 33b8a01032 new way to code CALLs + passing multiple arguments between function calls 1999-11-25 16:59:43 -02:00
Roberto Ierusalimschy 29ede6aa13 first implementation of multiple states (reentrant code). 1999-11-22 11:12:07 -02:00
Roberto Ierusalimschy cde179b369 new implementation for global variable values (separated from strings) 1999-11-04 15:23:12 -02:00
Roberto Ierusalimschy e10788b2ff reorganization of `stat' function. 1999-09-20 11:15:18 -03:00
Roberto Ierusalimschy 52a206366d bug: in the (old) expression << ls->fs->f->consts[checkname(ls)] >>, checkname
could realloc f->consts.
1999-09-02 10:13:22 -03:00
Roberto Ierusalimschy c787dccd9b "const" !!! 1999-08-16 17:52:00 -03:00
Roberto Ierusalimschy e9a670695a details 1999-07-22 16:29:42 -03:00
Roberto Ierusalimschy 36b6fe8d17 better treatment for arbitrary limits 1999-06-17 14:04:03 -03:00
Roberto Ierusalimschy d4dce57f5c cannot assign to unlimited variables, because it causes overflow in
the number of returns of a function.
1999-06-16 10:35:01 -03:00
Roberto Ierusalimschy 5c19ed2a13 bigger limit for number of local variables and upvalues 1999-06-16 10:22:04 -03:00
Roberto Ierusalimschy 613b60c156 detail 1999-05-21 16:54:06 -03:00
Roberto Ierusalimschy 73308c7605 warnings by clinio 1999-05-10 10:54:01 -03:00
Roberto Ierusalimschy 288fa05602 opcodes with LONGARG do not use byte variants. 1999-05-06 11:41:41 -03:00
Roberto Ierusalimschy e9aa98d594 do not generate SETLINE after main (it will be after last line) 1999-03-25 18:06:57 -03:00
Roberto Ierusalimschy 1f4e2ba7b2 more precise debug information about local variables 1999-03-23 16:58:37 -03:00
Roberto Ierusalimschy c454dc7bdd no more if expressions. 1999-03-11 16:00:12 -03:00
Roberto Ierusalimschy 2679461637 no more assignment expressions (they don't fit in Lua...) 1999-03-10 11:09:45 -03:00
Roberto Ierusalimschy 0870a2d1d8 new opcode TAILCALL 1999-03-05 18:16:07 -03:00
Roberto Ierusalimschy 5a8bb00df4 storing chunk "sources" instead of "filenames". 1999-03-04 18:23:39 -03:00
Roberto Ierusalimschy 72d675aba7 macros "growvector" and "reallocvector" more compact 1999-02-26 12:48:55 -03:00
Roberto Ierusalimschy 6a853fcb8b details (from lhf) 1999-02-25 18:07:26 -03:00
Roberto Ierusalimschy 26d1e21c89 new way to handle "growing" vectors 1999-02-25 12:16:26 -03:00
Roberto Ierusalimschy 9d7bae0b6a better instrumentation for internal debugging 1999-02-24 14:55:51 -03:00
Roberto Ierusalimschy 082aded149 warnings 1999-02-24 12:37:19 -03:00
Roberto Ierusalimschy b82ff713e3 new name for opcode 1999-02-09 16:01:55 -02:00
Roberto Ierusalimschy ad6c7b0dd4 small corrections in opcodes. 1999-02-09 13:59:10 -02:00
Roberto Ierusalimschy 8b2d97d187 assignment expression may be multiple 1999-02-08 16:54:19 -02:00
Roberto Ierusalimschy fb1cf6ab2d clearer way to set tables. 1999-02-08 15:07:59 -02:00
Roberto Ierusalimschy 5687949560 "lua_debug", "lua_callhook" and "lua_linehook" must be inside "lua_state". 1999-02-04 15:47:59 -02:00
Roberto Ierusalimschy cbc58af260 new opcode for "long" arguments (3 bytes) 1999-02-04 14:36:16 -02:00
Roberto Ierusalimschy 27407fc1f5 new syntax: assignment expressions + better order for opcodes 1999-02-02 17:41:17 -02:00
Roberto Ierusalimschy 1a17da2ff9 opcodes with builtin parameters are too complicated for very little extra
performance.
1999-02-02 15:57:49 -02:00
Roberto Ierusalimschy 50248e440a "if" expression leaves only one of its expressions on the stack 1999-02-02 11:47:31 -02:00
Roberto Ierusalimschy 0f0079f394 "if" expressions. 1999-02-01 16:52:05 -02:00
Roberto Ierusalimschy 68267ed878 negative numerals do not need a MINUSOPeration; go directly to contant
table.
1999-01-29 11:48:58 -02:00
Roberto Ierusalimschy eec31aaca5 <string.h> is needed because of "memcpy". 1999-01-21 16:38:39 -02:00
Roberto Ierusalimschy e87fddf1ad GC can be called during parsing, if needed. 1999-01-15 09:38:33 -02:00
Roberto Ierusalimschy 766e67ef3b to avoid warnings about "typecast" (Visual C++) 1998-12-28 11:44:54 -02:00
Roberto Ierusalimschy d3ac7075a2 better error message 1998-12-23 12:06:57 -02:00
Roberto Ierusalimschy 1d420c2c11 better error message for code too long (old one was misleading when the
problem was SETLINE after 64k lines...)
1998-08-11 10:28:05 -03:00
Roberto Ierusalimschy e1a127245d details ("luaX_token2str" doesn't need LexState) 1998-07-24 15:02:38 -03:00
Roberto Ierusalimschy dcb1a08906 "exp" changed to "exp0" to avoid problems with math.h. 1998-07-06 19:07:51 -03:00
Roberto Ierusalimschy da94130160 stupid bug (in syntax print "hello") 1998-06-24 11:48:15 -03:00
Roberto Ierusalimschy 7e59a8901d NEW LL(1) PARSER 1998-05-27 10:08:34 -03:00