fix ecmastring table

Description
  Fix ecmastring table in concat string when string is not intern string
Issue:
  #I4XNEU:fix ecmastring table

Signed-off-by: xliu <liuxin259@huawei.com>
Change-Id: Iff8ad2dedbfc7e0a94ad8f5f66f9dfc6c53f4c1d
This commit is contained in:
xliu 2022-03-14 11:03:53 +08:00
parent 235423f56b
commit 2b845afa9a

View File

@ -98,13 +98,11 @@ void EcmaStringTable::InternEmptyString(EcmaString *emptyStr)
EcmaString *EcmaStringTable::GetOrInternString(const JSHandle<EcmaString> &firstString,
const JSHandle<EcmaString> &secondString)
{
if (firstString->IsInternString() && secondString->IsInternString()) {
EcmaString *concatString = GetString(firstString, secondString);
if (concatString != nullptr) {
return concatString;
}
EcmaString *concatString = GetString(firstString, secondString);
if (concatString != nullptr) {
return concatString;
}
EcmaString *concatString = EcmaString::Concat(firstString, secondString, vm_);
concatString = EcmaString::Concat(firstString, secondString, vm_);
InternString(concatString);
return concatString;