1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 21:54:58 +00:00

LibJS: Use the same StringPrototype globally

To make sure that everyone has the same instance of StringPrototype,
hang a global prototype off of the Interpreter that can be fetched
when constructing new StringObjects.
This commit is contained in:
Andreas Kling 2020-03-15 15:11:13 +01:00
parent 9b4358e150
commit 8dc6416bba
3 changed files with 8 additions and 1 deletions

View file

@ -25,6 +25,7 @@
*/
#include <LibJS/Heap.h>
#include <LibJS/Interpreter.h>
#include <LibJS/PrimitiveString.h>
#include <LibJS/StringObject.h>
#include <LibJS/StringPrototype.h>
@ -35,7 +36,7 @@ namespace JS {
StringObject::StringObject(PrimitiveString* string)
: m_string(string)
{
set_prototype(heap().allocate<StringPrototype>());
set_prototype(interpreter().string_prototype());
put("length", Value(static_cast<i32>(m_string->string().length())));
}