1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-13 01:31:00 +00:00
serenity/Userland
Andreas Kling 80b1604b0a LibJS: Compile ScriptFunctions into bytecode and run them that way :^)
If there's a current Bytecode::Interpreter in action, ScriptFunction
will now compile itself into bytecode and execute in that context.

This patch also adds the Return bytecode instruction so that we can
actually return values from called functions. :^)

Return values are propagated from callee to caller via the caller's
$0 register. Bytecode::Interpreter now keeps a stack of register
"windows". These are not very efficient, but it should be pretty
straightforward to convert them to e.g a sliding register window
architecture later on.

This is pretty dang cool! :^)
2021-06-07 18:11:59 +02:00
..
Applets Applets/Network: Replace fprintf(stderr) with dbgln() 2021-05-31 17:44:01 +01:00
Applications LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
Demos AK+Everywhere: Disallow constructing Functions from incompatible types 2021-06-06 00:27:30 +04:30
DevTools AK+Everywhere: Disallow constructing Functions from incompatible types 2021-06-06 00:27:30 +04:30
DynamicLoader Userland: Port UBSAN implementation to userspace 2021-05-27 15:18:03 +02:00
Games AK+Everywhere: Disallow constructing Functions from incompatible types 2021-06-06 00:27:30 +04:30
Libraries LibJS: Compile ScriptFunctions into bytecode and run them that way :^) 2021-06-07 18:11:59 +02:00
Services WindowServer+Magnifier: Make Magnifier buttery smooth :^) 2021-06-07 10:22:25 +02:00
Shell LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
Utilities js: Exit the program after dumping and/or running bytecode 2021-06-07 18:11:59 +02:00
CMakeLists.txt Tests: Establish root Tests directory, move Userland/Tests there 2021-05-06 17:54:28 +02:00