-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Cobalt to support and use Lua 5.2 #50
Commits on Mar 13, 2021
-
Added (preliminary) Lua 5.2 environment support
Still needs a LOT of testing. It's probably pretty broken right now.
Configuration menu - View commit details
-
Copy full SHA for 1d67e30 - Browse repository at this point
Copy the full SHA 1d67e30View commit details
Commits on Mar 26, 2021
-
Implemented support for Lua 5.2 bytecode
Also fixed how environments are injected (I think?). Still generates 5.1 bytecode, so that'll have to be switched to 5.2.
Configuration menu - View commit details
-
Copy full SHA for c1ddfdc - Browse repository at this point
Copy the full SHA c1ddfdcView commit details
Commits on Mar 30, 2021
-
I had to revert the changes to the code generator back to pure 5.1, so _ENV is no longer special in code. However, the environment is still stored as an upvalue, even on 5.1 (which is the version the bytecode is generated for). It properly loads 5.2 bytecode for the most part, but there's still a few things broken with upvalues. (It's able to get CC to partially boot through the BIOS!)
Configuration menu - View commit details
-
Copy full SHA for 0449528 - Browse repository at this point
Copy the full SHA 0449528View commit details
Commits on Mar 31, 2021
-
Lua 5.2 bytecode works properly now
Boots CraftOS! (when precompiled to 5.2) Now to write the compiler...
Configuration menu - View commit details
-
Copy full SHA for 29a7573 - Browse repository at this point
Copy the full SHA 29a7573View commit details -
This is complete enough to fully boot CraftOS in Lua 5.2; no precompilation necessary.
Configuration menu - View commit details
-
Copy full SHA for 9fb8a9d - Browse repository at this point
Copy the full SHA 9fb8a9dView commit details
Commits on Apr 1, 2021
-
This should theoretically be the last thing to implement. I think there's also something with weak tables to fix, as well as adding tail call hooks, but those are much more minor details. If you don't like goto, you can disable it with LuaC.blockGoto.
Configuration menu - View commit details
-
Copy full SHA for af40c7a - Browse repository at this point
Copy the full SHA af40c7aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f7109e - Browse repository at this point
Copy the full SHA 3f7109eView commit details -
Added official Lua 5.2 goto tests
Also fixed some bugs that made the tests fail.
Configuration menu - View commit details
-
Copy full SHA for 07d89d4 - Browse repository at this point
Copy the full SHA 07d89d4View commit details -
Fixed 'return;', made goto context-sensitive
goto can now be used as a variable name again, for old programs that used it. (Don't do this anymore.)
Configuration menu - View commit details
-
Copy full SHA for da4a305 - Browse repository at this point
Copy the full SHA da4a305View commit details -
Fixed goto-as-name when made the object of assignment
(read: `goto = 2` works)
Configuration menu - View commit details
-
Copy full SHA for 51a4053 - Browse repository at this point
Copy the full SHA 51a4053View commit details -
Added uservalues, removed environments
Also fixed a bunch of stuff to make CC tests pass.
Configuration menu - View commit details
-
Copy full SHA for 1dfb12c - Browse repository at this point
Copy the full SHA 1dfb12cView commit details -
There's still a couple more to finish before it'll pass.
Configuration menu - View commit details
-
Copy full SHA for 32b5f6b - Browse repository at this point
Copy the full SHA 32b5f6bView commit details
Commits on Apr 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for b572f47 - Browse repository at this point
Copy the full SHA b572f47View commit details
Commits on Apr 6, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 3903aa0 - Browse repository at this point
Copy the full SHA 3903aa0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52b7a3b - Browse repository at this point
Copy the full SHA 52b7a3bView commit details
Commits on Apr 7, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c502538 - Browse repository at this point
Copy the full SHA c502538View commit details -
I had to delete any lines that used varargs, as Cobalt provides Lua 5.0-style arg tables, which does not exist in any form under Lua 5.2. Maybe this should be refactored/ adjusted so vararg compilation can be properly tested?
Configuration menu - View commit details
-
Copy full SHA for 66a1274 - Browse repository at this point
Copy the full SHA 66a1274View commit details -
Configuration menu - View commit details
-
Copy full SHA for af31081 - Browse repository at this point
Copy the full SHA af31081View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6dfde63 - Browse repository at this point
Copy the full SHA 6dfde63View commit details
Commits on Jul 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 7fc02b9 - Browse repository at this point
Copy the full SHA 7fc02b9View commit details
Commits on Jul 19, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 6c772e4 - Browse repository at this point
Copy the full SHA 6c772e4View commit details
Commits on Nov 21, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 246daa2 - Browse repository at this point
Copy the full SHA 246daa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19ca424 - Browse repository at this point
Copy the full SHA 19ca424View commit details
Commits on Dec 1, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 484ae62 - Browse repository at this point
Copy the full SHA 484ae62View commit details
Commits on Dec 16, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 614801e - Browse repository at this point
Copy the full SHA 614801eView commit details -
Now, when blockGoto is enabled, goto is always treated as a name instead of throwing an error. This is much more useful than the previous behavior.
Configuration menu - View commit details
-
Copy full SHA for b9a8435 - Browse repository at this point
Copy the full SHA b9a8435View commit details
Commits on Apr 9, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 5a58bdb - Browse repository at this point
Copy the full SHA 5a58bdbView commit details
Commits on Apr 30, 2022
-
Configuration menu - View commit details
-
Copy full SHA for d8f3d20 - Browse repository at this point
Copy the full SHA d8f3d20View commit details