summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Interpreter.cpp
diff options
context:
space:
mode:
authorIdan Horowitz <idan.horowitz@gmail.com>2021-06-12 17:32:54 +0300
committerLinus Groh <mail@linusgroh.de>2021-06-12 18:39:23 +0100
commit6913f06b6f8c58be771caa5af155d775e570aa73 (patch)
treeb8c29b37c23f1407bea03cc096402050c023b7a5 /Userland/Libraries/LibJS/Interpreter.cpp
parent8a739f986a58ce88f063f6f1f61dcb38261cbf0e (diff)
downloadserenity-6913f06b6f8c58be771caa5af155d775e570aa73.zip
LibJS: Store and maintain an "execution generation" counter
This counter is increased each time a synchronous execution sequence completes, and will allow us to emulate the abstract operations AddToKeptObjects & ClearKeptObjects efficiently.
Diffstat (limited to 'Userland/Libraries/LibJS/Interpreter.cpp')
-rw-r--r--Userland/Libraries/LibJS/Interpreter.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/Userland/Libraries/LibJS/Interpreter.cpp b/Userland/Libraries/LibJS/Interpreter.cpp
index 1c6ef8f73a..63acef125c 100644
--- a/Userland/Libraries/LibJS/Interpreter.cpp
+++ b/Userland/Libraries/LibJS/Interpreter.cpp
@@ -63,6 +63,8 @@ void Interpreter::run(GlobalObject& global_object, const Program& program)
// At this point we may have already run any queued promise jobs via on_call_stack_emptied,
// in which case this is a no-op.
vm.run_queued_promise_jobs();
+
+ vm.finish_execution_generation();
}
GlobalObject& Interpreter::global_object()