1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:08:10 +00:00

LibJS: Use FlyString for identifiers

This makes variable and property lookups a lot faster since comparing
two FlyStrings is O(1).
This commit is contained in:
Andreas Kling 2020-03-22 11:07:55 +01:00
parent 4f72f6b886
commit cccbe43056
19 changed files with 67 additions and 57 deletions

View file

@ -32,11 +32,11 @@ namespace JS {
class ScriptFunction final : public Function {
public:
ScriptFunction(const ScopeNode& body, Vector<String> parameters = {});
ScriptFunction(const ScopeNode& body, Vector<FlyString> parameters = {});
virtual ~ScriptFunction();
const ScopeNode& body() const { return m_body; }
const Vector<String>& parameters() const { return m_parameters; };
const Vector<FlyString>& parameters() const { return m_parameters; };
virtual Value call(Interpreter&, const Vector<Value>&) override;
@ -45,7 +45,7 @@ private:
virtual const char* class_name() const override { return "ScriptFunction"; }
NonnullRefPtr<ScopeNode> m_body;
const Vector<String> m_parameters;
const Vector<FlyString> m_parameters;
};
}