Andreas Kling
cccbe43056
LibJS: Use FlyString for identifiers
...
This makes variable and property lookups a lot faster since comparing
two FlyStrings is O(1).
2020-03-22 13:03:43 +01:00
Andreas Kling
ddd69e3660
LibJS: Make the AST reference-counted
...
This allows function objects to outlive the original parsed program
without their ScopeNode disappearing.
2020-03-18 11:23:53 +01:00
Andreas Kling
0a71533aff
LibJS: Pass argument value vectors as const Vector<Value>&
...
Now that Interpreter keeps all arguments in the CallFrame stack, we can
just pass a const-reference to the CallFrame's argument vector to each
function handler (instead of copying it.)
2020-03-17 16:24:53 +01:00
Andreas Kling
19452230cd
LibJS: Add "Heap" and "Runtime" subdirectories
...
Let's try to keep LibJS tidy as it expands. :^)
2020-03-16 14:37:19 +01:00