Jelajahi Sumber

LibJS: Remove unused "lexical argument index" metadata from Identifier

This shrinks Identifier by 16 bytes. :^)
Andreas Kling 2 tahun lalu
induk
melakukan
76f438eb3e
2 mengubah file dengan 0 tambahan dan 17 penghapusan
  1. 0 2
      Userland/Libraries/LibJS/AST.h
  2. 0 15
      Userland/Libraries/LibJS/Parser.cpp

+ 0 - 2
Userland/Libraries/LibJS/AST.h

@@ -1212,7 +1212,6 @@ public:
     }
 
     FlyString const& string() const { return m_string; }
-    void set_lexically_bound_function_argument_index(size_t index) { m_lexically_bound_function_argument = index; }
 
     virtual Completion execute(Interpreter&) const override;
     virtual void dump(int indent) const override;
@@ -1223,7 +1222,6 @@ private:
     virtual bool is_identifier() const override { return true; }
 
     FlyString m_string;
-    Optional<size_t> m_lexically_bound_function_argument;
     mutable Optional<EnvironmentCoordinate> m_cached_environment_coordinate;
 };
 

+ 0 - 15
Userland/Libraries/LibJS/Parser.cpp

@@ -222,15 +222,6 @@ public:
     {
         VERIFY(is_top_level() || m_parent_scope);
 
-        if (!m_contains_access_to_arguments_object) {
-            for (auto& it : m_identifier_and_argument_index_associations) {
-                for (auto& identifier : it.value) {
-                    if (!has_declaration(identifier.string()))
-                        identifier.set_lexically_bound_function_argument_index(it.key);
-                }
-            }
-        }
-
         for (size_t i = 0; i < m_functions_to_hoist.size(); i++) {
             auto const& function_declaration = m_functions_to_hoist[i];
             if (m_lexical_names.contains(function_declaration.name()) || m_forbidden_var_names.contains(function_declaration.name()))
@@ -252,11 +243,6 @@ public:
         m_parser.m_state.current_scope_pusher = m_parent_scope;
     }
 
-    void associate_identifier_with_argument_index(NonnullRefPtr<Identifier> identifier, size_t index)
-    {
-        m_identifier_and_argument_index_associations.ensure(index).append(move(identifier));
-    }
-
     void set_contains_await_expression()
     {
         m_contains_await_expression = true;
@@ -289,7 +275,6 @@ private:
     NonnullRefPtrVector<FunctionDeclaration> m_functions_to_hoist;
 
     Optional<Vector<FunctionDeclaration::Parameter>> m_function_parameters;
-    HashMap<size_t, NonnullRefPtrVector<Identifier>> m_identifier_and_argument_index_associations;
 
     bool m_contains_access_to_arguments_object { false };
     bool m_contains_direct_call_to_eval { false };