Commit Graph

  • 348fa1ca56 bug: 'lua_pushcclosure' should not call the garbage collector when 'n' is zero. Roberto Ierusalimschy 2017-12-06 16:20:28 -0200
  • ae11e37e53 bug: 'lua_pushcclosure' should not call the GC when 'n' is zero Roberto Ierusalimschy 2017-12-06 16:08:03 -0200
  • c7ee7fe026 new opcodes OP_SHLI/OP_SHRI Roberto Ierusalimschy 2017-12-04 15:41:30 -0200
  • 421e459684 'luaS_resize' can raise memory errors Roberto Ierusalimschy 2017-12-01 15:38:49 -0200
  • 9d28b40152 rehashes string table always allocating a new array instead of reallocating old one. (Avoids problems if reallocation to a small size fails.) Roberto Ierusalimschy 2017-12-01 14:40:29 -0200
  • e0bece77d6 detail Roberto Ierusalimschy 2017-12-01 13:44:51 -0200
  • d0356d5f15 another value for LUAI_MAXCCALLS (must think more about that) Roberto Ierusalimschy 2017-12-01 13:08:14 -0200
  • ac78b914b6 warnings from Visual Studio /W3 Roberto Ierusalimschy 2017-11-30 13:37:16 -0200
  • 10b8c99bbb small peephole optimizations Roberto Ierusalimschy 2017-11-30 11:29:18 -0200
  • bdc751ce23 details (comments) Roberto Ierusalimschy 2017-11-30 11:16:43 -0200
  • 19c6b375c3 detail (spacing) Roberto Ierusalimschy 2017-11-30 10:03:00 -0200
  • 745eb41993 new opcodes OP_RETURN0/OP_RETURN1 Roberto Ierusalimschy 2017-11-29 14:57:36 -0200
  • c766e4103d 'luaV_execute' gets call info as extra argument (it is always available on call sites) Roberto Ierusalimschy 2017-11-29 11:02:17 -0200
  • 36aecd4548 order opcodes cannot use 'K' operands Roberto Ierusalimschy 2017-11-28 13:26:15 -0200
  • 1a5e8c1014 conditional jumps unified in label "condjump' + new variable 'vra' to avoid excessive use of macro 's2v' Roberto Ierusalimschy 2017-11-28 12:51:00 -0200
  • ff5fe51044 using register 'k' for conditions in tests (we only need one bit there) Roberto Ierusalimschy 2017-11-28 10:58:18 -0200
  • dfd188ba12 detail (identation of switch) Roberto Ierusalimschy 2017-11-28 09:19:07 -0200
  • 093c16b67b new opcodes 'OP_LTI' and 'OP_LEI' Roberto Ierusalimschy 2017-11-27 15:44:31 -0200
  • 599f1742c6 detail (typo in comments) Roberto Ierusalimschy 2017-11-23 17:29:04 -0200
  • 73abfde2ef small simplifications around 'luaT_callorderTM' Roberto Ierusalimschy 2017-11-23 17:18:10 -0200
  • 194a4f9710 small simplifications in 'luaD_poscall' Roberto Ierusalimschy 2017-11-23 16:29:41 -0200
  • 196c87c9ce no more 'stackless' implementation; 'luaV_execute' calls itself recursively to execute function calls. 'unroll' continues all executions suspended by an yield (through a long jump) Roberto Ierusalimschy 2017-11-23 14:41:16 -0200
  • 39f26b1480 more information from 'T.stacklevel' Roberto Ierusalimschy 2017-11-23 13:38:42 -0200
  • 3c230cc825 using 'A' for register instead of 'B' in relational opcodes ('R(A)' is already created by default for all instructions.) Roberto Ierusalimschy 2017-11-22 17:15:44 -0200
  • 41f2936d8f new opcode 'OP_EQI' for equality with immediate numbers Roberto Ierusalimschy 2017-11-22 16:41:20 -0200
  • 14c3aa12b5 more direct implementation for tail calls. Roberto Ierusalimschy 2017-11-21 12:18:03 -0200
  • f3ca52bfa9 in order comparison opcodes, fast track for floats too Roberto Ierusalimschy 2017-11-20 10:57:39 -0200
  • c47111bd4e 'io.read' accepts multiple formats in a single string argument Roberto Ierusalimschy 2017-11-16 14:28:36 -0200
  • e4e5aa85a2 detail ('signal' -> 'sign' in comments) Roberto Ierusalimschy 2017-11-16 11:19:06 -0200
  • 4c0e36a46e new instruction 'OP_EQK' (for equality with constants) Roberto Ierusalimschy 2017-11-16 10:59:14 -0200
  • 5440b42f43 using 'trap' to stop 'luaV_execute' when necessary (tracing and to update its copy of 'base' when the stack is reallocated) Roberto Ierusalimschy 2017-11-13 13:36:52 -0200
  • 7d4828cc9f avoid accessing wrong union field Roberto Ierusalimschy 2017-11-13 10:26:30 -0200
  • 62f3b7c472 detail Roberto Ierusalimschy 2017-11-13 10:20:51 -0200
  • fb9be62f79 includes 'stdio.h' to allow prints when testing Roberto Ierusalimschy 2017-11-13 10:19:35 -0200
  • 7c0175bc83 removed unused variable 'islocked' Roberto Ierusalimschy 2017-11-09 11:31:29 -0200
  • 32fef60743 detail ('Protect' defined as an expression) Roberto Ierusalimschy 2017-11-08 17:01:02 -0200
  • 26679ea35b new function 'luaV_flttointeger' to convert floats to integers (without string coercions) + string operands to bitwise operations handled by string metamethods Roberto Ierusalimschy 2017-11-08 12:50:23 -0200
  • c3e5946fb2 new format for JUMP instructions (to allow larger offsets) Roberto Ierusalimschy 2017-11-07 15:20:42 -0200
  • ad0704e40c back to 'CallInfo' (no gains with its removal) Roberto Ierusalimschy 2017-11-07 11:25:26 -0200
  • 5a3f26f855 fitting a StackValue structure into 32 bytes (for 64-bit machines) Roberto Ierusalimschy 2017-11-06 15:34:06 -0200
  • 93fd67b793 no more 'CallInfo' structure Roberto Ierusalimschy 2017-11-04 10:57:02 -0200
  • 6bb3e40a8d 'lua_Debug' not using 'CallInfo' Roberto Ierusalimschy 2017-11-03 18:41:05 -0200
  • 7612f7735d removing uses of 'CallInfo' Roberto Ierusalimschy 2017-11-03 17:33:22 -0200
  • 472c560705 no more useful fields in CallInfo Roberto Ierusalimschy 2017-11-03 15:22:54 -0200
  • 54eb35a8aa more fields moved out of 'CallInfo' Roberto Ierusalimschy 2017-11-03 10:12:30 -0200
  • ba36180fd7 new API for 'lua_resume' + cleaning the uses of the 'extra' field in 'CallInfo' Roberto Ierusalimschy 2017-11-02 09:28:56 -0200
  • b9e76be8a6 using 'L->func' when possible Roberto Ierusalimschy 2017-11-01 16:20:48 -0200
  • c5482468fd baby steps to remove 'CallInfo': keeping 'L->func' correct Roberto Ierusalimschy 2017-10-31 15:54:35 -0200
  • ad5dcdcf0f detail: in 'isinstack', check against the whole stack instead of against the stack frame Roberto Ierusalimschy 2017-10-31 15:14:02 -0200
  • de9128d09d do not mess up the debt when the collector is not running Roberto Ierusalimschy 2017-10-31 13:29:28 -0200
  • 1d8920dd7f some cleaning in GC parameters Roberto Ierusalimschy 2017-10-11 09:38:45 -0300
  • 911f1e3e7f raw operation should not convert strings to numbers Roberto Ierusalimschy 2017-10-10 17:05:40 -0300
  • a1ef58b3a5 eplicit 1-bit opcode operand 'k' Roberto Ierusalimschy 2017-10-04 18:56:32 -0300
  • 283e7455ff detail Roberto Ierusalimschy 2017-10-04 18:53:03 -0300
  • 8fbe9e3470 new opcodes with immediate integer operand for all arithmetic operations Roberto Ierusalimschy 2017-10-04 12:49:24 -0300
  • 9ed9f40f1e avoid warning about 'const' Roberto Ierusalimschy 2017-10-04 12:49:05 -0300
  • 940472c75c opcode size increased to 7 bits Roberto Ierusalimschy 2017-10-02 19:51:32 -0300
  • f3b3d9b5c2 string constants (Kstr) must fit into 'B' register Roberto Ierusalimschy 2017-10-02 19:50:57 -0300
  • 7f9a32ad85 new function 'printcode' Roberto Ierusalimschy 2017-10-01 16:17:51 -0300
  • bc1b0733b8 avoid the use of bit 'Bk' ('B' will lose this bit soon) Roberto Ierusalimschy 2017-10-01 16:13:43 -0300
  • 722bdbe17d no more 'getBMode'-'getCMode' (imprecise + we will need more space for op mode) + better control of op modes Roberto Ierusalimschy 2017-09-28 13:53:29 -0300
  • 1b10033583 new function 'luaT_trybiniTM' to handle tag methods for instructions with immediate integer arguments Roberto Ierusalimschy 2017-09-27 15:59:08 -0300
  • 00e728af88 binary operators use R instead of RK faster + nobody uses RK(B), so B can be smaller (freeing one bit for more opcodes, soon) Roberto Ierusalimschy 2017-09-26 15:14:45 -0300
  • 13256a4173 detail put explicit all cases for a switch of an enumeration Roberto Ierusalimschy 2017-09-26 14:10:49 -0300
  • abb17cf19b new opcode OP_LOADF (load immediate float) Roberto Ierusalimschy 2017-09-19 15:38:14 -0300
  • e0c0e2ee14 comments (documentation about instruction formats) Roberto Ierusalimschy 2017-09-18 13:07:54 -0300
  • 022e4427cf detail (keep OP_LOADK and OP_LOADKX together) Roberto Ierusalimschy 2017-09-15 11:19:06 -0300
  • 80d9b09f35 jumps do not close upvalues (to be faster and simpler); explicit instruction to close upvalues; command 'break' not handled like a 'goto' (to optimize removal of uneeded 'close' instructions) Roberto Ierusalimschy 2017-09-13 16:50:08 -0300
  • 029d269f4d bug: dead keys with nil values can stay in weak tables Roberto Ierusalimschy 2017-08-31 13:14:41 -0300
  • ac65bab25f jumps in 'for' loops don't need to be signed Roberto Ierusalimschy 2017-08-14 15:33:14 -0300
  • f185c0132e comment in code fragment Roberto Ierusalimschy 2017-08-12 10:12:42 -0300
  • b77f792b23 comment Roberto Ierusalimschy 2017-08-12 10:12:21 -0300
  • 4053eae9eb bug: Lua does not check GC when creating error messages Roberto Ierusalimschy 2017-07-27 10:55:38 -0300
  • 6d998055c8 no more reference 'memerrmsg' + new reference to "n" (both can be retrieved by 'luaS_newliteral' without creating anything, because they are fixed, but "n" deserves fast access while 'memerrmsg' does not) Roberto Ierusalimschy 2017-07-27 10:50:16 -0300
  • 11769b203f new version (5.4) Roberto Ierusalimschy 2017-07-27 10:36:54 -0300
  • b1daa069ba bug: Lua does not check GC when creating error messages Roberto Ierusalimschy 2017-07-10 14:35:12 -0300
  • 4dff277255 coercion string->number in arithmetic operations moved to string library Roberto Ierusalimschy 2017-07-07 13:34:32 -0300
  • 07db10813c 'OP_VARARG' has the vararg parameter as an operand Roberto Ierusalimschy 2017-06-29 12:38:41 -0300
  • f96497397a new type 'StackValue' for stack elements (we may want to put extra info there in the future) Roberto Ierusalimschy 2017-06-29 12:06:44 -0300
  • 5a1c8d8ef3 new constant 'LUA_GNAME' for the name of the global table "_G" Roberto Ierusalimschy 2017-06-27 15:32:49 -0300
  • 124bfd2081 dumping ints and size_ts compacted Roberto Ierusalimschy 2017-06-27 11:21:12 -0300
  • b42430fd3a 'lineinfo' in prototypes saved as differences instead of absolute values, so that the array can use bytes instead of ints, reducing its size. (A new array 'abslineinfo' is used when line differences do not fit in a byte.) Roberto Ierusalimschy 2017-06-27 08:35:31 -0300
  • 60a7492d24 new type 'ls_byte' for signed bytes Roberto Ierusalimschy 2017-06-27 08:35:01 -0300
  • 73ec04fcf3 no more 'DEADKEY'. Table traversals do not need to consider dead keys; if the key is dead, it cannot be given to 'next'. Instead, we now use a 'table' tag without the collectable bit, which makes it a unique tag good enough to reserve space. Roberto Ierusalimschy 2017-06-12 11:21:44 -0300
  • d13a3fb070 detail (removed empty spaces at the end of lines) Roberto Ierusalimschy 2017-06-09 16:16:41 -0300
  • b6f87491af in hash nodes, keys are stored in separate pieces to avoid wasting space with alignments Roberto Ierusalimschy 2017-06-09 13:48:44 -0300
  • 4bb30f461b when assigning to a 'TValue', better assign only exact fields, to allow us to put stuff after the 'TValuefields' if needed Roberto Ierusalimschy 2017-06-01 17:24:05 -0300
  • dad85e4131 macro 'setobj2t' may not be an expression Roberto Ierusalimschy 2017-06-01 17:23:27 -0300
  • b029e7ea20 macro 'luaV_fastget' may need protection ({}) to be used inside 'if's Roberto Ierusalimschy 2017-06-01 17:22:33 -0300
  • 4bc33d64de avoid overflows in computation of step size Roberto Ierusalimschy 2017-06-01 16:16:34 -0300
  • 8821746841 updated GC states in function 'T.gcstate' Roberto Ierusalimschy 2017-05-31 15:54:58 -0300
  • 72d82a296c revamping the incremental collector Some simplifications (not counting bytes, couting only slots visited; no more 'gcfinnum'); more GC parameters; using vararg in 'lua_gc' to set parameters in different GC modes Roberto Ierusalimschy 2017-05-26 16:14:29 -0300
  • 4804bbd9bb include first standard header files (Some broken compiler has problems with 'signal.h' being included without a definition for 'size_t'.) Roberto Ierusalimschy 2017-05-24 18:11:19 -0300
  • be0d951be8 bug: cannot reuse a dying upvalue Roberto Ierusalimschy 2017-05-24 15:54:54 -0300
  • a9dbc2d641 assert removed in 'luaO_arith' (nobody calls it with L==NULL) Roberto Ierusalimschy 2017-05-24 10:47:11 -0300
  • c25380c28d details (using proper version of 'setobj') Roberto Ierusalimschy 2017-05-23 09:50:11 -0300
  • 03094da80c detail (extra closing brackets) Roberto Ierusalimschy 2017-05-22 09:55:16 -0300
  • 01c96ad12e handling of inf, -inf, and NaN by string.format'%q' Roberto Ierusalimschy 2017-05-19 13:29:40 -0300
  • 1bdc328c75 bug: Lua crashes when building sequences with more than 2^30 elements. bug: Table length computation overflows for sequences larger than 2^31 elements.. Roberto Ierusalimschy 2017-05-19 09:58:40 -0300
  • e3d52da144 BUG: in 'computesizes', 'twotoi' overflows when a sequence has more than 2^30 elements. Roberto Ierusalimschy 2017-05-19 09:57:10 -0300