Commit Graph

303 Commits

Author SHA1 Message Date
Roberto Ierusalimschy c116dcb92b better information about instruction behavior (use of arguments) 2003-05-14 09:09:12 -03:00
Roberto Ierusalimschy 6d268b0b00 new semantics for "for" local variables 2003-05-13 17:15:59 -03:00
Roberto Ierusalimschy 17149b7d43 avoid warnings (`Instruction' may not fit into an `int') 2003-04-28 10:31:06 -03:00
Roberto Ierusalimschy abc304f9da avoid name colision (for alllua.c) 2003-03-19 18:24:04 -03:00
Roberto Ierusalimschy ab9e062928 name changes to avoid name collision between macros and variables 2003-03-18 09:50:04 -03:00
Roberto Ierusalimschy 2e66248f8a unused argument 2003-03-18 09:24:38 -03:00
Roberto Ierusalimschy 59ce42dbd5 detail 2003-02-27 09:32:30 -03:00
Roberto Ierusalimschy 92f6e0c1bf no-nonsense debug information about tail calls 2003-02-27 08:52:30 -03:00
Roberto Ierusalimschy c4f9c887fc expressions too complex for an ARM compiler... 2003-02-19 07:28:58 -03:00
Roberto Ierusalimschy 7a40cdbda0 different variables for number of upvalues and size of upvalue array
(makes code clearer)
2003-02-11 08:46:24 -02:00
Roberto Ierusalimschy 73517e86b0 OP_TFORLOOP uses extra stack space 2002-12-11 10:34:22 -02:00
Roberto Ierusalimschy 9bd3fc1039 TFORLOOP makes a call that affects all values above it on the stack 2002-12-06 15:15:35 -02:00
Roberto Ierusalimschy 27c6b4d422 each .c file defines its own name 2002-12-04 15:38:31 -02:00
Roberto Ierusalimschy c194a46bc5 detail 2002-11-26 06:59:48 -02:00
Roberto Ierusalimschy 5f698f8b6f simpler interface to hooks + use of `int' to count hooks 2002-11-25 15:47:13 -02:00
Roberto Ierusalimschy ddc144e4d2 keep L->ci->base in L->base for faster access 2002-11-21 13:16:04 -02:00
Roberto Ierusalimschy 43013b39cc new representation for hooks (to allow asynchronous calls to sethook) 2002-11-18 09:01:55 -02:00
Roberto Ierusalimschy dff9be4224 new macros to distinguish different types of object moves (for future GC
evolution).
2002-11-07 13:37:10 -02:00
Roberto Ierusalimschy c196348717 in case of memory allocation errors, sizecode and sizelineinfo can
be different
2002-10-16 17:40:58 -03:00
Roberto Ierusalimschy 1bdde38bd2 no more newlines at the end of error messages 2002-09-05 16:45:42 -03:00
Roberto Ierusalimschy 6c283b2f4f new simetric format for ABC instructions, to avoid exchanging operands
for `commutative' operators
2002-08-20 17:03:05 -03:00
Roberto Ierusalimschy 8e4ac679ff use a linear count for count hook 2002-08-12 14:23:12 -03:00
Roberto Ierusalimschy 9998082839 external messages add their own extra information 2002-08-08 17:08:41 -03:00
Roberto Ierusalimschy 5016f43aa4 (much) cleaner way to control function states 2002-08-07 16:22:39 -03:00
Roberto Ierusalimschy c1c100a0c0 warnings in other compilers 2002-08-07 11:35:55 -03:00
Roberto Ierusalimschy 2e38c6ae5a `luadebug.h' content now is included in `lua.h' 2002-08-06 15:01:50 -03:00
Roberto Ierusalimschy a2fa48a570 new (old?) error handling scheme 2002-08-06 12:32:22 -03:00
Roberto Ierusalimschy 0417a4bb0b new implementation for tailcalls and error handling 2002-08-05 11:51:21 -03:00
Roberto Ierusalimschy e5146fb01f CallInfo has different fields for C functions and Lua functions 2002-07-16 11:26:56 -03:00
Roberto Ierusalimschy 39b2d58c39 new interface for debug hooks 2002-07-08 15:21:33 -03:00
Roberto Ierusalimschy 922f36a05b details 2002-06-24 12:07:21 -03:00
Roberto Ierusalimschy e572dffa15 small bug building error messages 2002-06-20 17:39:44 -03:00
Roberto Ierusalimschy 6ee2dbdfe9 traceback stops at first protected call 2002-06-18 14:10:43 -03:00
Roberto Ierusalimschy 1dbe708aa8 new protocol for error handling 2002-06-18 12:19:27 -03:00
Roberto Ierusalimschy 864c96f36c new fallback for equality `__eq' 2002-06-13 10:39:55 -03:00
Roberto Ierusalimschy 000d081fd0 warnings from other compilers 2002-06-06 15:17:33 -03:00
Roberto Ierusalimschy 955def0348 new names for string formating functions 2002-05-16 15:39:46 -03:00
Roberto Ierusalimschy b7a0503c1d new format for error messages 2002-05-15 15:57:44 -03:00
Roberto Ierusalimschy 1c328a191a no more `global' declarations 2002-05-14 14:52:22 -03:00
Roberto Ierusalimschy af19d55635 generic for also coded to make test at the end of the loop 2002-05-13 10:09:00 -03:00
Roberto Ierusalimschy 78b40bf57d `skip' instructions must be followed by a jump 2002-05-09 11:14:34 -03:00
Roberto Ierusalimschy dea6b6da94 new function `lua_vpushstr' to replace uses of `sprintf' 2002-05-07 14:36:56 -03:00
Roberto Ierusalimschy 9a0f0dcc77 precompiler may create functions without `lineinfo' 2002-05-02 10:06:20 -03:00
Roberto Ierusalimschy 9b38a696d5 avoid names that differ only in capitalization 2002-04-24 17:07:46 -03:00
Roberto Ierusalimschy f388ee4a82 new way to handle errors 2002-04-22 11:40:23 -03:00
Roberto Ierusalimschy 6c7334a9ac line trace uses `savedpc' to save last `pc' seen 2002-04-10 09:11:07 -03:00
Roberto Ierusalimschy 7b65328c8e new semantics for `generic for' (with state) 2002-04-09 16:47:44 -03:00
Roberto Ierusalimschy 93bcb65a9b debug interface uses `method' to describe calls like `a:foo()' 2002-04-04 14:21:31 -03:00
Roberto Ierusalimschy 801aaf37b1 simpler implementation for line information 2002-03-25 14:47:14 -03:00
Roberto Ierusalimschy 00af2faae7 first implementation of proper tail call 2002-03-22 13:54:31 -03:00
Roberto Ierusalimschy 938092489b erroneous objects may not live in the stack 2002-03-19 09:45:25 -03:00
Roberto Ierusalimschy 71c716e5a8 avoid C identifiers beginning with '_' 2002-03-11 09:45:00 -03:00
Roberto Ierusalimschy bd8b9c94b3 generic for (with any number of control variables) 2002-03-08 16:10:32 -03:00
Roberto Ierusalimschy 38b0e6128d simpler implementation for `for' loops 2002-02-05 20:39:12 -02:00
Roberto Ierusalimschy 50e2952593 first version of dynamic stack 2002-01-25 20:14:54 -02:00
Roberto Ierusalimschy 7ab7703b53 cleaner semantics for test instructions (skips) 2002-01-16 20:03:57 -02:00
Roberto Ierusalimschy f083812c02 first implementation of coroutines 2002-01-09 20:02:47 -02:00
Roberto Ierusalimschy e04f7ed450 first version of Lua "stackless" 2001-12-18 18:52:30 -02:00
Roberto Ierusalimschy 9aff171f3b new type `boolean' 2001-12-11 20:48:44 -02:00
Roberto Ierusalimschy 592a309177 tag system replaced by event tables 2001-12-05 18:15:18 -02:00
Roberto Ierusalimschy 72659a0605 no more explicit support for wide-chars; too much troble... 2001-11-28 18:13:13 -02:00
Roberto Ierusalimschy af59848219 tables of globals accessible through pseudo-index in C API 2001-10-31 17:58:11 -02:00
Roberto Ierusalimschy 21aa7e55f2 optimization for array part of a Table 2001-10-25 17:14:14 -02:00
Roberto Ierusalimschy 15462edb0f new definitions for closure structures 2001-10-02 13:45:03 -03:00
Roberto Ierusalimschy f54cdb33a5 small bug in close x return 2001-09-28 13:48:16 -03:00
Roberto Ierusalimschy abdbe883a8 first implementation of unrestricted static scoping 2001-09-07 14:39:10 -03:00
Roberto Ierusalimschy 18d3e82cfe check C is independent from check B 2001-07-03 14:01:34 -03:00
Roberto Ierusalimschy 2a4afb97c8 new module lopcodes.c for tables describing opcodes 2001-06-28 16:58:57 -03:00
Roberto Ierusalimschy 770954510f rename of `kproto' to `p' 2001-06-28 11:57:17 -03:00
Roberto Ierusalimschy 37f3a1c045 too much optimization to "break" keys in tables; keep them as TObjects... 2001-06-26 10:20:45 -03:00
Roberto Ierusalimschy 8e586c13fc cleaner way to ensure alignment for strings and userdata 2001-06-15 17:36:57 -03:00
Roberto Ierusalimschy 0a1b1acdd3 details about opcode parameters 2001-06-11 11:56:42 -03:00
Roberto Ierusalimschy cbc59592ff new definition for `luaD_call' and `luaD_adjusttop' 2001-06-08 16:01:38 -03:00
Roberto Ierusalimschy 0267168675 details. 2001-06-08 09:29:27 -03:00
Roberto Ierusalimschy 190ddd431d details (rests of debug code) 2001-06-07 11:44:51 -03:00
Roberto Ierusalimschy 65c289b046 details 2001-06-07 10:46:29 -03:00
Roberto Ierusalimschy 762d059a13 new implementation for the Virtual Machine 2001-06-05 15:17:01 -03:00
Roberto Ierusalimschy a68635a919 list constructors do not adjust last expression 2001-04-06 15:25:00 -03:00
Roberto Ierusalimschy dd3a63c205 new way to handle `profiles' 2001-03-26 11:31:49 -03:00
Roberto Ierusalimschy 6048c4f74d better way to link callinfo's and stack 2001-03-07 15:09:25 -03:00
Roberto Ierusalimschy 5e870f86a2 optimization for tailcall does not seem to pay itself 2001-03-07 10:22:55 -03:00
Roberto Ierusalimschy e9a3820370 sizeof(string) != strlen(string)+1 when sizeof(char) != 1 2001-03-06 11:46:54 -03:00
Roberto Ierusalimschy 7b84f9e65c lower-case for macros with arguments 2001-03-02 14:27:50 -03:00
Roberto Ierusalimschy dfd7ce74cf buffer should be void *, as char now is not that neutral... 2001-02-23 17:32:16 -03:00
Roberto Ierusalimschy 39b7978329 first (big) step to support wide chars 2001-02-23 14:17:25 -03:00
Roberto Ierusalimschy 5f37134e64 avoid '...' and "..." inside comments 2001-02-22 15:59:59 -03:00
Roberto Ierusalimschy 191fd35f0a warnings from Visual C++ 2001-02-21 13:52:09 -03:00
Roberto Ierusalimschy 888f91fa24 code check for upvalues 2001-02-20 15:28:11 -03:00
Roberto Ierusalimschy 099442c41f better separation between basic types 2001-02-20 15:15:33 -03:00
Roberto Ierusalimschy 27600fe87a better strucuture for code checker 2001-02-16 15:58:27 -02:00
Roberto Ierusalimschy 3c649ce123 checking consistency of jumps (and some other details) 2001-02-12 17:54:28 -02:00
Roberto Ierusalimschy d2e340f467 string pointers are always fully aligned 2001-02-09 18:22:29 -02:00
Roberto Ierusalimschy c81404cae5 first version of code verification 2001-02-09 16:37:33 -02:00
Roberto Ierusalimschy 7178a5e34a new way to handle top x L->top 2001-02-07 16:13:49 -02:00
Roberto Ierusalimschy 426d3e43bd lock/unlock may use L + better structure for internal debug stuff 2001-02-02 13:13:05 -02:00
Roberto Ierusalimschy 6b71a9cfe5 smaller tables for machines with 8-bit alignment 2001-01-29 15:17:26 -02:00
Roberto Ierusalimschy bce6572579 new macros + new names to facilitate compilation of threaded version 2001-01-26 09:45:51 -02:00
Roberto Ierusalimschy a53d9b66ca first implementation for type names 2001-01-25 14:45:36 -02:00
Roberto Ierusalimschy 71ae4801d6 macros LUA_ENTRY/LUA_EXIT to control exclusive access to Lua core 2001-01-24 13:45:33 -02:00
Roberto Ierusalimschy 4ac58853dc thead-specific state separated from "global" state 2001-01-19 11:20:30 -02:00
Roberto Ierusalimschy f2c451d745 all accesses to TObjects done through macros 2001-01-18 13:59:09 -02:00
Roberto Ierusalimschy 8c49e19865 explicit control of size for growing vectors 2000-12-26 16:46:09 -02:00
Roberto Ierusalimschy 01b00cc292 better control over extensions of char/short to int 2000-11-30 16:50:47 -02:00
Roberto Ierusalimschy f379d06e24 all API functions are declared in a single line (to facilitate pre-processing). 2000-10-30 10:38:50 -02:00
Roberto Ierusalimschy e2b6b7de1b details 2000-10-27 09:39:52 -02:00
Roberto Ierusalimschy 64eecc0b82 new macro LUA_API 2000-10-20 14:39:03 -02:00
Roberto Ierusalimschy d6232a0b2e better treatment for source names 2000-10-09 11:47:32 -02:00
Roberto Ierusalimschy ad3816d0d1 luaD_call is more uniform 2000-10-06 09:45:25 -03:00
Roberto Ierusalimschy 046a3d6173 tag methods are always functions, so don't need to store a whole object 2000-10-05 10:00:17 -03:00
Roberto Ierusalimschy 001f2bdd0e new definition for types-tags 2000-10-05 09:14:08 -03:00
Roberto Ierusalimschy f6834f4393 new API function `lua_type' + new type lua_Type 2000-10-02 17:10:55 -03:00
Roberto Ierusalimschy 42ca3105ac small "by 1" bug 2000-09-18 16:39:49 -03:00
Roberto Ierusalimschy 024ed4218f better name for source_id (short_src) 2000-09-12 15:38:02 -03:00
Roberto Ierusalimschy 8060193702 `lauxlib' is now part of the libraries (not used by core Lua) 2000-09-11 17:29:27 -03:00
Roberto Ierusalimschy 21dc77b2af errors may happen before function start running (with pc=-1) 2000-08-31 10:29:12 -03:00
Roberto Ierusalimschy b691d4344b L is not unused. 2000-08-28 17:22:21 -03:00
Roberto Ierusalimschy 9fdf73bc9a first version for new API 2000-08-28 14:57:04 -03:00
Roberto Ierusalimschy 44eb7d91ac comments 2000-08-15 15:28:48 -03:00
Roberto Ierusalimschy 5d9cbdadfb cannot run symbolic execution for non-active functions 2000-08-14 14:59:20 -03:00
Roberto Ierusalimschy 58453dc1e1 small bug in symbolic execution 2000-08-14 14:46:27 -03:00
Roberto Ierusalimschy 9e84bf18db still more debug information 2000-08-11 13:17:28 -03:00
Roberto Ierusalimschy daf09c476f still better error messages 2000-08-10 16:50:47 -03:00
Roberto Ierusalimschy e238efc536 default now is multi-state 2000-08-09 16:16:57 -03:00
Roberto Ierusalimschy 0802a9df9e no more options for debug information: it is always on 2000-08-08 17:42:07 -03:00
Roberto Ierusalimschy f90bc248b3 new structure for line information 2000-08-08 15:26:05 -03:00
Roberto Ierusalimschy d9e61e8cea new algorithm for traversing in GC to avoid deep recursion calls 2000-08-07 17:21:34 -03:00
Roberto Ierusalimschy cfba572076 remove dummy argument in LUA_ASSERT 2000-06-30 11:35:17 -03:00
Roberto Ierusalimschy aa01d2568d symbolic execution must handle return and tailcall 2000-06-30 11:29:35 -03:00
Roberto Ierusalimschy 014a09c509 better error messages 2000-06-28 17:21:06 -03:00
Roberto Ierusalimschy afef009fce new version of debug system 2000-06-26 16:28:31 -03:00
Roberto Ierusalimschy 1de5587184 `lua.h' is included before any other Lua header file 2000-06-12 10:52:05 -03:00
Roberto Ierusalimschy 8ca9534d04 access to `values' in TObject always through macros 2000-06-08 15:27:13 -03:00
Roberto Ierusalimschy 7e30900def better field name 2000-05-30 16:00:31 -03:00
Roberto Ierusalimschy 9e1f94fc1c cannot change value of private locals (used to implement `for') 2000-05-15 16:30:41 -03:00
Roberto Ierusalimschy 8714cc02d6 `getinfo' gets information about non-active functions, too. 2000-05-12 16:49:18 -03:00
Roberto Ierusalimschy bad6365540 details 2000-05-08 17:49:05 -03:00
Roberto Ierusalimschy 11a7022067 global variables are stored in a Lua table 2000-05-08 16:32:53 -03:00
Roberto Ierusalimschy 8f0f54ec38 name change 2000-03-30 17:55:50 -03:00
Roberto Ierusalimschy 556a89e537 new names for debug types 2000-03-30 14:19:48 -03:00
Roberto Ierusalimschy a69356e9e0 no more special cases for closures with 0 upvalues (performance is the same,
memory use a little higher, code much simpler).
2000-03-29 17:19:20 -03:00
Roberto Ierusalimschy b53dc0c485 TAG_ARRAY -> TAG_TABLE 2000-03-27 17:10:21 -03:00
Roberto Ierusalimschy bb9605bbc9 tags can be positive values 2000-03-20 16:14:54 -03:00
Roberto Ierusalimschy 73aa465a8e some name changes 2000-03-10 15:37:44 -03:00
Roberto Ierusalimschy 3c9d999424 many details (most by lhf). 2000-03-03 11:58:26 -03:00
Roberto Ierusalimschy c929376d59 must include a definition for NULL 2000-02-17 16:30:36 -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 d11e5adf55 `const' array in protos breaked in 3 arrays (for strings, numbers, and
prototypes).
2000-01-25 11:57:18 -02:00
Roberto Ierusalimschy 2877bad4c2 new debug API (first version) 2000-01-19 10:00:45 -02:00
Roberto Ierusalimschy bcdbdaccc3 more debug information (still with bug for tag methods...) 1999-12-30 16:28:40 -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 c16c63cc59 new module with the debug API functions 1999-12-14 16:31:20 -02:00