diff --git a/ets2panda/checker/types/typeRelation.cpp b/ets2panda/checker/types/typeRelation.cpp index 130fa19dbbf95318c6de95f56091dc5d28084585..0ea6044f305f6eee49eac9f8ea0f20731de3c182 100644 --- a/ets2panda/checker/types/typeRelation.cpp +++ b/ets2panda/checker/types/typeRelation.cpp @@ -29,10 +29,6 @@ ArenaAllocator *TypeRelation::Allocator() RelationResult TypeRelation::CacheLookup(const Type *source, const Type *target, const RelationHolder &holder, RelationType type) const { - if (result_ == RelationResult::CACHE_MISS) { - return result_; - } - ES2PANDA_ASSERT(source != nullptr); ES2PANDA_ASSERT(target != nullptr); @@ -115,7 +111,7 @@ bool TypeRelation::IsIdenticalTo(IndexInfo *source, IndexInfo *target) return result_ == RelationResult::TRUE; } -bool TypeRelation::IsAssignableTo(Type *source, Type *target) +__attribute__((noinline)) bool TypeRelation::IsAssignableTo(Type *source, Type *target) { if (source == target) { return Result(true); @@ -247,7 +243,7 @@ bool TypeRelation::IsLegalBoxedPrimitiveConversion(Type *target, Type *source) return res; } -bool TypeRelation::IsSupertypeOf(Type *super, Type *sub) +__attribute__((noinline)) bool TypeRelation::IsSupertypeOf(Type *super, Type *sub) { if (LIKELY(super == sub)) { return Result(true);