src/util/BlockAllocator.h
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // Copyright (c) 2021-2026 ChilliBits. All rights reserved. | ||
| 2 | |||
| 3 | #pragma once | ||
| 4 | |||
| 5 | #include <vector> | ||
| 6 | |||
| 7 | #include <ast/ASTNodes.h> | ||
| 8 | #include <exception/CompilerError.h> | ||
| 9 | #include <util/CommonUtil.h> | ||
| 10 | #include <util/Memory.h> | ||
| 11 | #include <util/SystemUtil.h> | ||
| 12 | |||
| 13 | namespace spice::compiler { | ||
| 14 | |||
| 15 | template <typename Base> class BlockAllocator { | ||
| 16 | public: | ||
| 17 | // Constructors | ||
| 18 | 569 | explicit BlockAllocator(const MemoryManager &memoryManager, size_t blockSize = SystemUtil::getSystemPageSize()) | |
| 19 | 569 | : memoryManager(memoryManager), blockSize(blockSize) { | |
| 20 |
1/2✓ Branch 5 → 6 taken 569 times.
✗ Branch 5 → 7 not taken.
|
569 | allocateNewBlock(); |
| 21 | 569 | } | |
| 22 | 569 | ~BlockAllocator() { | |
| 23 | // Destruct all objects | ||
| 24 |
2/2✓ Branch 16 → 4 taken 1532009 times.
✓ Branch 16 → 17 taken 569 times.
|
1533147 | for (Base *ptr : allocatedObjects) |
| 25 | 1532009 | ptr->~Base(); | |
| 26 | 569 | allocatedObjects.clear(); | |
| 27 | |||
| 28 | // Free memory | ||
| 29 |
2/2✓ Branch 32 → 20 taken 72149 times.
✓ Branch 32 → 33 taken 569 times.
|
73287 | for (byte *ptr : memoryBlocks) |
| 30 | 72149 | memoryManager.deallocate(ptr); | |
| 31 | 569 | memoryBlocks.clear(); | |
| 32 | 569 | } | |
| 33 | |||
| 34 | // Public methods | ||
| 35 | 1532010 | template <typename T, typename... Args> T *allocate(Args &&...args) { | |
| 36 | static_assert(std::is_base_of_v<Base, T>, "T must be derived from Base"); | ||
| 37 | 1532010 | constexpr size_t objSize = sizeof(T); | |
| 38 |
78/156spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 41040 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 20212 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 12669 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1658 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 372 times.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2980 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 53018 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 31034 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2883 times.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 693 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 10822 times.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 56523 times.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 20757 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 343 times.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 6716 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 49214 times.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 129149 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 52798 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1026 times.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 4929 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 37961 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 23521 times.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 233 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2496 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 96804 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 761 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2349 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2994 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1682 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 3426 times.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 19592 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 243442 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 662 times.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 6 times.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1 time.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 22 times.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 72 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 551 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 26058 times.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 85 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 17 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 372 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 472 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1890 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1943 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 5696 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 7941 times.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 129148 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 847 times.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 409 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 15726 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2400 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 366 times.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 81857 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 271 times.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 69 times.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1947 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 56 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 33 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 59774 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1943 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1056 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 8385 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 6 times.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 4383 times.
spice::compiler::TopLevelDefAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 959 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 212 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 63386 times.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 44 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 3180 times.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 294 times.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 929 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2773 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 3284 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2431 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 5495 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 59453 times.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 101009 times.
|
1532010 | assert(objSize <= blockSize && "Object size exceeds block size"); |
| 39 | |||
| 40 | // Check if we need a new block | ||
| 41 |
147/156spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 744 times.
✓ Branch 4 → 6 taken 40296 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 877 times.
✓ Branch 4 → 6 taken 19335 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 465 times.
✓ Branch 4 → 6 taken 12204 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 38 times.
✓ Branch 4 → 6 taken 1620 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 361 times.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 94 times.
✓ Branch 4 → 6 taken 2886 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2325 times.
✓ Branch 4 → 6 taken 50693 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1502 times.
✓ Branch 4 → 6 taken 29532 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 77 times.
✓ Branch 4 → 6 taken 2806 times.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 688 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 432 times.
✓ Branch 4 → 6 taken 10390 times.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1773 times.
✓ Branch 4 → 6 taken 54750 times.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 387 times.
✓ Branch 4 → 6 taken 20370 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10 times.
✓ Branch 4 → 6 taken 333 times.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 155 times.
✓ Branch 4 → 6 taken 6561 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 850 times.
✓ Branch 4 → 6 taken 48364 times.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5732 times.
✓ Branch 4 → 6 taken 123417 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2017 times.
✓ Branch 4 → 6 taken 50781 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 14 times.
✓ Branch 4 → 6 taken 1012 times.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 116 times.
✓ Branch 4 → 6 taken 4813 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 447 times.
✓ Branch 4 → 6 taken 37514 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 429 times.
✓ Branch 4 → 6 taken 23092 times.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 233 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 54 times.
✓ Branch 4 → 6 taken 2442 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1334 times.
✓ Branch 4 → 6 taken 95470 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 37 times.
✓ Branch 4 → 6 taken 724 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 46 times.
✓ Branch 4 → 6 taken 2303 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 184 times.
✓ Branch 4 → 6 taken 2810 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 93 times.
✓ Branch 4 → 6 taken 1589 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 88 times.
✓ Branch 4 → 6 taken 3338 times.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 709 times.
✓ Branch 4 → 6 taken 18883 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10984 times.
✓ Branch 4 → 6 taken 232458 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 7 times.
✓ Branch 4 → 6 taken 655 times.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 6 times.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 1 time.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 22 times.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 67 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4 times.
✓ Branch 4 → 6 taken 547 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 485 times.
✓ Branch 4 → 6 taken 25573 times.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 85 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 15 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 9 times.
✓ Branch 4 → 6 taken 363 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 20 times.
✓ Branch 4 → 6 taken 452 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 41 times.
✓ Branch 4 → 6 taken 1849 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 19 times.
✓ Branch 4 → 6 taken 1924 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 67 times.
✓ Branch 4 → 6 taken 5629 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 283 times.
✓ Branch 4 → 6 taken 7658 times.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3003 times.
✓ Branch 4 → 6 taken 126145 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 37 times.
✓ Branch 4 → 6 taken 810 times.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 48 times.
✓ Branch 4 → 6 taken 361 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 511 times.
✓ Branch 4 → 6 taken 15215 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 57 times.
✓ Branch 4 → 6 taken 2343 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10 times.
✓ Branch 4 → 6 taken 356 times.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1611 times.
✓ Branch 4 → 6 taken 80246 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 270 times.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 69 times.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 48 times.
✓ Branch 4 → 6 taken 1899 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 55 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 33 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2330 times.
✓ Branch 4 → 6 taken 57444 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 52 times.
✓ Branch 4 → 6 taken 1891 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 26 times.
✓ Branch 4 → 6 taken 1030 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 265 times.
✓ Branch 4 → 6 taken 8120 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 6 times.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 97 times.
✓ Branch 4 → 6 taken 4286 times.
spice::compiler::TopLevelDefAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 956 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 7 times.
✓ Branch 4 → 6 taken 205 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2683 times.
✓ Branch 4 → 6 taken 60703 times.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 44 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 156 times.
✓ Branch 4 → 6 taken 3024 times.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 9 times.
✓ Branch 4 → 6 taken 285 times.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 61 times.
✓ Branch 4 → 6 taken 868 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 39 times.
✓ Branch 4 → 6 taken 2734 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 36 times.
✓ Branch 4 → 6 taken 3248 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 60 times.
✓ Branch 4 → 6 taken 2371 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 186 times.
✓ Branch 4 → 6 taken 5309 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2021 times.
✓ Branch 4 → 6 taken 57432 times.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 25252 times.
✓ Branch 4 → 6 taken 75757 times.
|
1532010 | if (offsetInBlock + objSize >= blockSize) |
| 42 | 71581 | allocateNewBlock(); | |
| 43 | |||
| 44 | // Construct object at the offset address | ||
| 45 | 1532009 | byte *destAddr = memoryBlocks.back() + offsetInBlock; | |
| 46 |
89/200spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 41040 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 20212 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 20212 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 12669 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1658 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 372 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 372 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2980 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 53018 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 31034 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2883 times.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 693 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 10822 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 10822 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 56523 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 56523 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 20757 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 343 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 343 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 6716 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 49214 times.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 129149 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 129149 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 52798 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1026 times.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 4929 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 37961 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 23521 times.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 233 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2496 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 96804 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 761 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 761 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2349 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2994 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2994 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1682 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 3426 times.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 19592 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 243442 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 662 times.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 6 times.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1 time.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 22 times.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 72 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 551 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 26058 times.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 85 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 17 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 372 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 472 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1890 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1943 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 5696 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 7941 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 7941 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 129148 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 847 times.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 409 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 15726 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2400 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 366 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 366 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 81857 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 271 times.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 69 times.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1947 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 56 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 33 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 59774 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1943 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 1056 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 8385 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 6 times.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 4383 times.
spice::compiler::TopLevelDefAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 959 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 212 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 63386 times.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 44 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 3180 times.
✗ Branch 10 → 18 not taken.
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 3180 times.
✗ Branch 18 → 19 not taken.
✗ Branch 18 → 20 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 294 times.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 929 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2773 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 3284 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 2431 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 5495 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 59453 times.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 11 → 12 not taken.
✓ Branch 11 → 13 taken 101008 times.
|
3064018 | T *ptr = new (destAddr) T(std::forward<Args>(args)...); |
| 47 |
78/156spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 41040 times.
✗ Branch 13 → 18 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 20212 times.
✗ Branch 13 → 21 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 12669 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1658 times.
✗ Branch 13 → 18 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 372 times.
✗ Branch 13 → 21 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2980 times.
✗ Branch 13 → 18 not taken.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 53018 times.
✗ Branch 13 → 18 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 31034 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2883 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 693 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 10822 times.
✗ Branch 13 → 21 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 56523 times.
✗ Branch 13 → 21 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 20757 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 343 times.
✗ Branch 13 → 21 not taken.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 6716 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 49214 times.
✗ Branch 13 → 18 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 129149 times.
✗ Branch 13 → 21 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 52798 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1026 times.
✗ Branch 13 → 18 not taken.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 4929 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 37961 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 23521 times.
✗ Branch 13 → 18 not taken.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 233 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2496 times.
✗ Branch 13 → 18 not taken.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 96804 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 761 times.
✗ Branch 13 → 21 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2349 times.
✗ Branch 13 → 18 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2994 times.
✗ Branch 13 → 21 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1682 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 3426 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 19592 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 243442 times.
✗ Branch 13 → 18 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 662 times.
✗ Branch 13 → 18 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 6 times.
✗ Branch 13 → 18 not taken.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1 time.
✗ Branch 13 → 18 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 22 times.
✗ Branch 13 → 18 not taken.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 72 times.
✗ Branch 13 → 18 not taken.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 551 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 26058 times.
✗ Branch 13 → 18 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 85 times.
✗ Branch 13 → 18 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 17 times.
✗ Branch 13 → 18 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 372 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 472 times.
✗ Branch 13 → 18 not taken.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1890 times.
✗ Branch 13 → 18 not taken.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1943 times.
✗ Branch 13 → 18 not taken.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 5696 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 7941 times.
✗ Branch 13 → 21 not taken.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 129148 times.
✗ Branch 13 → 18 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 847 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 409 times.
✗ Branch 13 → 18 not taken.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 15726 times.
✗ Branch 13 → 18 not taken.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2400 times.
✗ Branch 13 → 18 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 366 times.
✗ Branch 13 → 21 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 81857 times.
✗ Branch 13 → 18 not taken.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 271 times.
✗ Branch 13 → 18 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 69 times.
✗ Branch 13 → 18 not taken.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1947 times.
✗ Branch 13 → 18 not taken.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 56 times.
✗ Branch 13 → 18 not taken.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 33 times.
✗ Branch 13 → 18 not taken.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 59774 times.
✗ Branch 13 → 18 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1943 times.
✗ Branch 13 → 18 not taken.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 1056 times.
✗ Branch 13 → 18 not taken.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 8385 times.
✗ Branch 13 → 18 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 6 times.
✗ Branch 13 → 18 not taken.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 4383 times.
✗ Branch 13 → 18 not taken.
spice::compiler::TopLevelDefAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 959 times.
✗ Branch 13 → 18 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 212 times.
✗ Branch 13 → 18 not taken.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 63386 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 44 times.
✗ Branch 13 → 18 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 3180 times.
✗ Branch 13 → 21 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 294 times.
✗ Branch 13 → 18 not taken.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 929 times.
✗ Branch 13 → 18 not taken.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2773 times.
✗ Branch 13 → 18 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 3284 times.
✗ Branch 13 → 18 not taken.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 2431 times.
✗ Branch 13 → 18 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 5495 times.
✗ Branch 13 → 18 not taken.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 59453 times.
✗ Branch 13 → 18 not taken.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 13 → 14 taken 101008 times.
✗ Branch 13 → 18 not taken.
|
1532009 | allocatedObjects.push_back(ptr); |
| 48 | |||
| 49 | #ifndef NDEBUG | ||
| 50 |
78/156spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 41040 times.
✗ Branch 15 → 19 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 20212 times.
✗ Branch 15 → 22 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 12669 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1658 times.
✗ Branch 15 → 19 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 372 times.
✗ Branch 15 → 22 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2980 times.
✗ Branch 15 → 19 not taken.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 53018 times.
✗ Branch 15 → 19 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 31034 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2883 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 693 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 10822 times.
✗ Branch 15 → 22 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 56523 times.
✗ Branch 15 → 22 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 20757 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 343 times.
✗ Branch 15 → 22 not taken.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 6716 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 49214 times.
✗ Branch 15 → 19 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 129149 times.
✗ Branch 15 → 22 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 52798 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1026 times.
✗ Branch 15 → 19 not taken.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 4929 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 37961 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 23521 times.
✗ Branch 15 → 19 not taken.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 233 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2496 times.
✗ Branch 15 → 19 not taken.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 96804 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 761 times.
✗ Branch 15 → 22 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2349 times.
✗ Branch 15 → 19 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2994 times.
✗ Branch 15 → 22 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1682 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 3426 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 19592 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 243442 times.
✗ Branch 15 → 19 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 662 times.
✗ Branch 15 → 19 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 6 times.
✗ Branch 15 → 19 not taken.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1 time.
✗ Branch 15 → 19 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 22 times.
✗ Branch 15 → 19 not taken.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 72 times.
✗ Branch 15 → 19 not taken.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 551 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 26058 times.
✗ Branch 15 → 19 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 85 times.
✗ Branch 15 → 19 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 17 times.
✗ Branch 15 → 19 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 372 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 472 times.
✗ Branch 15 → 19 not taken.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1890 times.
✗ Branch 15 → 19 not taken.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1943 times.
✗ Branch 15 → 19 not taken.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 5696 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 7941 times.
✗ Branch 15 → 22 not taken.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 129148 times.
✗ Branch 15 → 19 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 847 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 409 times.
✗ Branch 15 → 19 not taken.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 15726 times.
✗ Branch 15 → 19 not taken.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2400 times.
✗ Branch 15 → 19 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 366 times.
✗ Branch 15 → 22 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 81857 times.
✗ Branch 15 → 19 not taken.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 271 times.
✗ Branch 15 → 19 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 69 times.
✗ Branch 15 → 19 not taken.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1947 times.
✗ Branch 15 → 19 not taken.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 56 times.
✗ Branch 15 → 19 not taken.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 33 times.
✗ Branch 15 → 19 not taken.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 59774 times.
✗ Branch 15 → 19 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1943 times.
✗ Branch 15 → 19 not taken.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 1056 times.
✗ Branch 15 → 19 not taken.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 8385 times.
✗ Branch 15 → 19 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 6 times.
✗ Branch 15 → 19 not taken.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 4383 times.
✗ Branch 15 → 19 not taken.
spice::compiler::TopLevelDefAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 959 times.
✗ Branch 15 → 19 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 212 times.
✗ Branch 15 → 19 not taken.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 63386 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 44 times.
✗ Branch 15 → 19 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 3180 times.
✗ Branch 15 → 22 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 294 times.
✗ Branch 15 → 19 not taken.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 929 times.
✗ Branch 15 → 19 not taken.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2773 times.
✗ Branch 15 → 19 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 3284 times.
✗ Branch 15 → 19 not taken.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 2431 times.
✗ Branch 15 → 19 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 5495 times.
✗ Branch 15 → 19 not taken.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 59453 times.
✗ Branch 15 → 19 not taken.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 15 → 16 taken 101008 times.
✗ Branch 15 → 19 not taken.
|
1532009 | ++allocatedClassStatistic[typeid(T).name()]; |
| 51 | #endif | ||
| 52 | |||
| 53 | // Update offset to be ready to store the next object | ||
| 54 | 1532009 | offsetInBlock += objSize; | |
| 55 | 1532009 | return ptr; | |
| 56 | } | ||
| 57 | |||
| 58 | 2 | [[nodiscard]] size_t getTotalAllocatedSize() const { return memoryBlocks.size() * blockSize; } | |
| 59 | 2 | [[nodiscard]] size_t getAllocationCount() const { return allocatedObjects.size(); } | |
| 60 | #ifndef NDEBUG | ||
| 61 | ✗ | void printAllocatedClassStatistic() const { | |
| 62 | ✗ | std::vector<std::pair<const char *, size_t>> elements(allocatedClassStatistic.begin(), allocatedClassStatistic.end()); | |
| 63 | ✗ | std::sort(elements.begin(), elements.end(), [](const auto &left, const auto &right) { return left.second > right.second; }); | |
| 64 | ✗ | for (const auto &[mangledName, count] : elements) | |
| 65 | ✗ | std::cout << CommonUtil::demangleTypeName(mangledName) << ": " << count << std::endl; | |
| 66 | ✗ | } | |
| 67 | #endif | ||
| 68 | |||
| 69 | private: | ||
| 70 | // Private members | ||
| 71 | const MemoryManager &memoryManager; | ||
| 72 | std::vector<byte *> memoryBlocks; | ||
| 73 | std::vector<Base *> allocatedObjects; | ||
| 74 | #ifndef NDEBUG | ||
| 75 | std::unordered_map<const char *, size_t> allocatedClassStatistic; | ||
| 76 | #endif | ||
| 77 | size_t blockSize; | ||
| 78 | size_t offsetInBlock = 0; | ||
| 79 | |||
| 80 | // Private methods | ||
| 81 | 72150 | void allocateNewBlock() { | |
| 82 | // Allocate new block | ||
| 83 |
1/2✓ Branch 2 → 3 taken 72150 times.
✗ Branch 2 → 28 not taken.
|
72150 | byte *ptr = memoryManager.allocate(blockSize); |
| 84 |
2/2✓ Branch 3 → 4 taken 1 time.
✓ Branch 3 → 14 taken 72149 times.
|
72150 | if (!ptr) |
| 85 |
2/4✓ Branch 7 → 8 taken 1 time.
✗ Branch 7 → 21 not taken.
✓ Branch 9 → 10 taken 1 time.
✗ Branch 9 → 16 not taken.
|
4 | throw CompilerError(OOM, "Could not allocate memory for BlockAllocator. Already allocated " + |
| 86 |
2/4✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 23 not taken.
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 19 not taken.
|
4 | std::to_string(memoryBlocks.size()) + " blocks."); |
| 87 | |||
| 88 | // Store pointer and reset offset | ||
| 89 |
1/2✓ Branch 14 → 15 taken 72149 times.
✗ Branch 14 → 28 not taken.
|
72149 | memoryBlocks.push_back(ptr); |
| 90 | 72149 | offsetInBlock = 0; | |
| 91 | 72149 | } | |
| 92 | }; | ||
| 93 | |||
| 94 | } // namespace spice::compiler | ||
| 95 |