Divide get object inline cache into 2 case

Divice get object inline cache into simple and complex cases
the simple case should test just one object chain with plain data property
the complex case should consider every case of inline cache

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
This commit is contained in:
Seonghyun Kim 2022-04-06 19:34:15 +09:00 committed by Hyukwoo Park
commit 35c6836f2e
5 changed files with 165 additions and 92 deletions

View file

@ -583,7 +583,7 @@ void CodeCacheWriter::storeByteCodeStream(ByteCodeBlock* block)
}
case GetObjectPreComputedCaseOpcode: {
GetObjectPreComputedCase* bc = static_cast<GetObjectPreComputedCase*>(currentCode);
ASSERT(!bc->m_inlineCache);
ASSERT(!bc->hasInlineCache());
ASSERT(bc->m_propertyName.hasAtomicString());
STORE_ATOMICSTRING_RELOC(m_propertyName.asAtomicString());
break;
@ -1153,7 +1153,7 @@ void CodeCacheReader::loadByteCodeStream(Context* context, ByteCodeBlock* block)
}
case GetObjectPreComputedCaseOpcode: {
GetObjectPreComputedCase* bc = static_cast<GetObjectPreComputedCase*>(currentCode);
ASSERT(!bc->m_inlineCache);
ASSERT(!bc->hasInlineCache());
LOAD_ATOMICSTRING_RELOC(m_propertyName);
break;
}