aboutsummaryrefslogtreecommitdiff
path: root/src/lfunc.js
Commit message (Collapse)AuthorAge
* src/: Upvalues are now just TValues (possibly referencing on-stack)daurnimator2018-01-29
| | | | | | | | | | - Removes `Upval` class - closing over upvalues is now done by creating new on-stack TValue objects - No more `openupval` linked list With this fix, upvalues from collected coroutines will no longer keep other values alive Closes #44
* src/lfunc.js: Use destructuring assignment for defs.jsdaurnimator2018-01-18
|
* src/lfunc.js: Use lua_assert instead of assertdaurnimator2018-01-18
|
* Move jshint config to package.jsondaurnimator2017-08-18
|
* Fix some jshint warningsdaurnimator2017-05-29
|
* src/lfunc.js: Give UpVals an id fielddaurnimator2017-05-29
| | | | | This way they have an id when printed via %p. e.g. `debug.upvalueid(function() print() end, 1)`
* Have lua closures point to directly to their upvalues on stackdaurnimator2017-05-29
|
* src/lfunc.js: Fix luaF_findupval, it needs to insert the upvalue into ↵daurnimator2017-05-16
| | | | correct place in linked list, not the start
* .is_vararg should be a booleandaurnimator2017-05-12
|
* Introduce a TString classdaurnimator2017-05-08
|
* src/lfunc.js: Give Protos an id fielddaurnimator2017-05-08
|
* Renamed findupval to luaF_findupvalBenoit Giannangeli2017-05-05
|
* L.openupval list was not linked correctlyBenoit Giannangeli2017-05-05
|
* Simplify UpVal structuredaurnimator2017-05-05
| | | | | | | No longer follows C api as closely (it is the way it is because C has unions) Instead, have a flat object. Also remove the 'setval' method, as it wasn't used from all call-sites and couldn't be extended to them (setval's body only worked with source TValue on a stack)
* An open upvalue already knows which lua_State it comes fromdaurnimator2017-05-05
|
* src/lfunc.js: Setting a closed upvalue should change a TValue, not create a ↵daurnimator2017-05-05
| | | | new one
* src/lfunc: Move refcount initialisation into constructordaurnimator2017-05-05
|
* Remove .twups fielddaurnimator2017-05-05
| | | | It's used to track threads that should be traversed by the GC to find upvalues
* Use lfunc from lundump.jsdaurnimator2017-05-02
|
* src/lfunc.js: Pass arguments to LClosure constructordaurnimator2017-05-02
|
* L.openupval was not set in luaF_closeBenoit Giannangeli2017-04-24
|
* Handle when no upvalue foundBenoit Giannangeli2017-04-23
|
* Fixed bad UpVal.setValBenoit Giannangeli2017-04-14
| | | | | We were making the upval point to the slot of the stack from which the value to set was
* [Strings] ldebug.js, ldo.js, lfunc.jsBenoit Giannangeli2017-03-13
|
* Loading tests (binary/text)Benoit Giannangeli2017-03-01
|
* Bytecode generationBenoit Giannangeli2017-03-01
|
* Basic lexing testsBenoit Giannangeli2017-02-27
|
* coroutine.running, upvalue need to be attached to their threadBenoit Giannangeli2017-02-23
|
* luaG_ functionsBenoit Giannangeli2017-02-21
|
* Fixed UpVal.setval so that it update v index and v value on the stackBenoit Giannangeli2017-02-17
|
* More accurate state and closure initBenoit Giannangeli2017-02-17
|
* Implementing minimal path from main to luaV_execute of user scriptBenoit Giannangeli2017-02-15
|
* Better use of module to avoid cyclic dependencies issuesBenoit Giannangeli2017-02-13
|
* JSHintBenoit Giannangeli2017-02-13
|
* TFORCALL, TFORLOOP, luaD_call, tag methodsBenoit Giannangeli2017-02-12
|
* No more LuaVM class, moved functions aroundBenoit Giannangeli2017-02-11
|
* UpVal closingBenoit Giannangeli2017-02-11
|
* UpvaluesBenoit Giannangeli2017-02-10
|
* postcall and precallBenoit Giannangeli2017-02-06
| | | | | | In the tests, we just look at the last n elements of the stack to check our results. This is because the executed script itself doesn't expect any result, so we did not put results at L.top.
* RETURN follow lua's source more accuratelyBenoit Giannangeli2017-02-06
|
* CLOSURE, CALLBenoit Giannangeli2017-02-04
|
* readHeaderBenoit Giannangeli2017-02-02