From 748b39b21f00badcfef8d0afb6e1edbc0b4e7acd Mon Sep 17 00:00:00 2001 From: Malinin Andrey Date: Mon, 5 Dec 2022 14:28:29 +0300 Subject: [PATCH] fixing wrong allocations --- runtime/object_factory.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/runtime/object_factory.cpp b/runtime/object_factory.cpp index 855eea30e..283ed0394 100644 --- a/runtime/object_factory.cpp +++ b/runtime/object_factory.cpp @@ -1388,7 +1388,7 @@ JSHandle ObjectFactory::NewLexicalEnv(int num_slots) { NewObjectHook(); size_t size = LexicalEnv::ComputeSize(num_slots); - auto header = heap_helper_.AllocateNonMovableOrHugeObject(env_class_, size); + auto header = heap_helper_.AllocateYoungGenerationOrHugeObject(env_class_, size); JSHandle array(thread_, header); array->InitializeWithSpecialValue(JSTaggedValue::Undefined(), num_slots + LexicalEnv::RESERVED_ENV_LENGTH); return array; @@ -2335,32 +2335,28 @@ JSHandle ObjectFactory::NewFromUtf8Literal(const uint8_t *utf8_data, { NewObjectHook(); bool can_be_compress = EcmaString::CanBeCompressed(utf8_data, utf8_len); - return JSHandle(thread_, EcmaString::CreateFromUtf8(utf8_data, utf8_len, vm_, can_be_compress, - panda::SpaceType::SPACE_TYPE_NON_MOVABLE_OBJECT)); + return JSHandle(thread_, EcmaString::CreateFromUtf8(utf8_data, utf8_len, vm_, can_be_compress)); } JSHandle ObjectFactory::NewFromUtf8LiteralUnCheck(const uint8_t *utf8_data, uint32_t utf8_len, bool can_be_compress) { NewObjectHook(); - return JSHandle(thread_, EcmaString::CreateFromUtf8(utf8_data, utf8_len, vm_, can_be_compress, - panda::SpaceType::SPACE_TYPE_NON_MOVABLE_OBJECT)); + return JSHandle(thread_, EcmaString::CreateFromUtf8(utf8_data, utf8_len, vm_, can_be_compress)); } JSHandle ObjectFactory::NewFromUtf16Literal(const uint16_t *utf16_data, uint32_t utf16_len) { NewObjectHook(); bool can_be_compress = EcmaString::CanBeCompressed(utf16_data, utf16_len); - return JSHandle(thread_, EcmaString::CreateFromUtf16(utf16_data, utf16_len, vm_, can_be_compress, - panda::SpaceType::SPACE_TYPE_NON_MOVABLE_OBJECT)); + return JSHandle(thread_, EcmaString::CreateFromUtf16(utf16_data, utf16_len, vm_, can_be_compress)); } JSHandle ObjectFactory::NewFromUtf16LiteralUnCheck(const uint16_t *utf16_data, uint32_t utf16_len, bool can_be_compress) { NewObjectHook(); - return JSHandle(thread_, EcmaString::CreateFromUtf16(utf16_data, utf16_len, vm_, can_be_compress, - panda::SpaceType::SPACE_TYPE_NON_MOVABLE_OBJECT)); + return JSHandle(thread_, EcmaString::CreateFromUtf16(utf16_data, utf16_len, vm_, can_be_compress)); } JSHandle ObjectFactory::NewFromString(EcmaString *str) -- Gitee