1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:08:11 +00:00
serenity/Userland/Libraries/LibJS
Andreas Kling 640d48255b LibJS: Remove unhelpful environment lookup optimization for globals
This optimization was no longer helpful after the bug fix for missing
invalidation on global delete was introduced in 331f6a9e6, since we
now have to check bindings for presence in the global environment every
time anyway.

Since the bytecode VM now has fast GetGlobal in most cases, let's not
even worry about this and just remove the unhelpful "optimization".

In fact, removing this is actually an *optimization*, since we avoid
a redundant has_binding() check on every global variable access. :^)
2023-07-13 10:56:59 +02:00
..
Bytecode LibJS: Remove unhelpful environment lookup optimization for globals 2023-07-13 10:56:59 +02:00
Contrib/Test262 LibJS: Make $262.evalScript() work in bytecode mode 2023-06-25 13:13:19 +02:00
Heap LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
Runtime LibJS: Remove unhelpful environment lookup optimization for globals 2023-07-13 10:56:59 +02:00
Tests LibJS: Implement the Promise.withResolvers proposal 2023-07-13 00:02:19 +02:00
AST.cpp LibJS: Remove unhelpful environment lookup optimization for globals 2023-07-13 10:56:59 +02:00
AST.h LibJS: Identify global variables during parsing 2023-07-12 16:03:16 +02:00
CMakeLists.txt LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
Console.cpp LibJS: Begin implementing console.dir 2023-06-22 06:46:27 +02:00
Console.h LibJS: Begin implementing console.dir 2023-06-22 06:46:27 +02:00
CyclicModule.cpp LibJS+LibWeb: Add missing visit calls in visit_edges implementations 2023-04-30 06:04:33 +02:00
CyclicModule.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Forward.h LibJS: Forward declare the MemberExpression AST node 2023-07-07 18:11:51 +02:00
Interpreter.cpp LibJS/Bytecode: Leave GlobalDeclarationInstantiation in C++ 2023-06-16 08:40:45 +02:00
Interpreter.h Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
Lexer.cpp LibJS: Parse slashes after reserved identifiers correctly 2023-06-10 07:20:33 +02:00
Lexer.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
MarkupGenerator.cpp LibJS: Fix redundancy-detection when printing raw values 2023-06-15 08:09:16 +02:00
MarkupGenerator.h LibJS: Fix redundancy-detection when printing raw values 2023-06-15 08:09:16 +02:00
Module.cpp LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate 2023-01-29 00:02:45 +00:00
Module.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Parser.cpp LibJS: Speed up has declaration check in ScopePusher 2023-07-13 04:58:16 +02:00
Parser.h LibJS: Identify global variables during parsing 2023-07-12 16:03:16 +02:00
ParserError.cpp LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
ParserError.h LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
Print.cpp LibJS: Show when an ArrayBuffer is detached when printing 2023-06-30 23:23:15 +02:00
Print.h Everywhere: Remove the AK:: qualifier from Stream usages 2023-02-13 00:50:07 +00:00
SafeFunction.h LibJS: Fix compilation of operator= for JS::SafeFunction 2023-03-07 11:51:12 +00:00
Script.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
Script.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
SourceCode.cpp LibJS: Make RefPtr and NonnullRefPtr usage const-correct 2023-02-21 00:54:04 +01:00
SourceCode.h LibJS: Make RefPtr and NonnullRefPtr usage const-correct 2023-02-21 00:54:04 +01:00
SourceRange.h LibJS+LibWeb: Add a bunch of missing includes 2023-03-06 13:05:43 +00:00
SourceTextModule.cpp LibJS+LibWeb: Plumb local variables names to ECMAScriptFunctionObject 2023-07-05 21:03:01 +02:00
SourceTextModule.h LibJS: Make RefPtr and NonnullRefPtr usage const-correct 2023-02-21 00:54:04 +01:00
SyntaxHighlighter.cpp LibSyntax+Libraries: Replace TextStyle with Gfx::TextAttributes 2023-03-15 14:55:49 +01:00
SyntaxHighlighter.h LibSyntax: Teach each highlighter about it's comment syntax 2022-11-27 18:28:43 -07:00
SyntheticModule.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SyntheticModule.h AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
Token.cpp AK: Remove StringBuilder::build() in favor of to_deprecated_string() 2023-01-27 20:38:49 +00:00
Token.h LibJS: Remove DeprecatedString usage from Token 2023-01-26 20:25:25 +00:00