Spreadsheet: Override visit_edges() and visit stored JS objects

...and don't let them leak out of their evaluation contexts.
Also keep the exceptions separate from the actual values.
This greatly reduces the number of assertions hit while entering random
data into a sheet.
This commit is contained in:
AnotherTest 2020-12-22 14:18:33 +03:30 committed by Andreas Kling
commit 7c8d35600c
Notes: sideshowbarker 2024-07-19 00:40:23 +09:00
11 changed files with 110 additions and 43 deletions

View file

@ -51,7 +51,7 @@
namespace JS {
static void update_function_name(Value value, const FlyString& name, HashTable<const JS::Cell*>& visited)
static void update_function_name(Value value, const FlyString& name, HashTable<JS::Cell*>& visited)
{
if (!value.is_object())
return;
@ -73,7 +73,7 @@ static void update_function_name(Value value, const FlyString& name, HashTable<c
static void update_function_name(Value value, const FlyString& name)
{
HashTable<const JS::Cell*> visited;
HashTable<JS::Cell*> visited;
update_function_name(value, name, visited);
}