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 | 454 | explicit BlockAllocator(const MemoryManager &memoryManager, size_t blockSize = SystemUtil::getSystemPageSize()) | |
| 19 | 454 | : memoryManager(memoryManager), blockSize(blockSize) { | |
| 20 |
1/2✓ Branch 5 → 6 taken 454 times.
✗ Branch 5 → 7 not taken.
|
454 | allocateNewBlock(); |
| 21 | 454 | } | |
| 22 | 454 | ~BlockAllocator() { | |
| 23 | // Destruct all objects | ||
| 24 |
2/2✓ Branch 8 → 4 taken 1888254 times.
✓ Branch 8 → 9 taken 454 times.
|
1888708 | for (Base *ptr : allocatedObjects) |
| 25 | 1888254 | ptr->~Base(); | |
| 26 | 454 | allocatedObjects.clear(); | |
| 27 | |||
| 28 | // Free memory | ||
| 29 |
2/2✓ Branch 16 → 12 taken 83021 times.
✓ Branch 16 → 17 taken 454 times.
|
83475 | for (byte *ptr : memoryBlocks) |
| 30 | 83021 | memoryManager.deallocate(ptr); | |
| 31 | 454 | memoryBlocks.clear(); | |
| 32 | 454 | } | |
| 33 | |||
| 34 | // Public methods | ||
| 35 | 1888255 | 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 | 1888255 | constexpr size_t objSize = sizeof(T); | |
| 38 |
86/172spice::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 13758 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 8242 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 4408 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 872 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 68 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 1040 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 17466 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 12512 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 1450 times.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 142 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 370 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 4270 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 22783 times.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1 time.
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 7769 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 71 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 92779 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 20498 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 51131 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 21716 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 249 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 739 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 15545 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 9534 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 125 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 654 times.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1012 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 39121 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 86919 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 247 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 740 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 822 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 772 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 82433 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 97986 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 53 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 16 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 16 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 31 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 437 times.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 865 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 9984 times.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 281 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 12 times.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2 times.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 11 times.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2314 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 9 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 68 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 125 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 74581 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 997 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 2711 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 87052 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 51130 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 70 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 209 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 77311 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 1201 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 108 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 32542 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 77173 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 6 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 75528 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 77274 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 77262 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 18979 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 997 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 76873 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 82786 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 99480 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 104 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 123872 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 32 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 91383 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 75 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 224 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 998 times.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 486 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 1159 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 1239 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 1575 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 19354 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.
|
1888255 | assert(objSize <= blockSize && "Object size exceeds block size"); |
| 39 | |||
| 40 | // Check if we need a new block | ||
| 41 |
162/172spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 305 times.
✓ Branch 4 → 6 taken 13453 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 260 times.
✓ Branch 4 → 6 taken 7982 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 191 times.
✓ Branch 4 → 6 taken 4217 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 22 times.
✓ Branch 4 → 6 taken 850 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4 times.
✓ Branch 4 → 6 taken 64 times.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 36 times.
✓ Branch 4 → 6 taken 1004 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 719 times.
✓ Branch 4 → 6 taken 16747 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 386 times.
✓ Branch 4 → 6 taken 12126 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 1418 times.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 140 times.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 8 times.
✓ Branch 4 → 6 taken 362 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 202 times.
✓ Branch 4 → 6 taken 4068 times.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 845 times.
✓ Branch 4 → 6 taken 21938 times.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 1 time.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 194 times.
✓ Branch 4 → 6 taken 7575 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 69 times.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2187 times.
✓ Branch 4 → 6 taken 90592 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 437 times.
✓ Branch 4 → 6 taken 20061 times.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2273 times.
✓ Branch 4 → 6 taken 48858 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 820 times.
✓ Branch 4 → 6 taken 20896 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10 times.
✓ Branch 4 → 6 taken 239 times.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 17 times.
✓ Branch 4 → 6 taken 722 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 192 times.
✓ Branch 4 → 6 taken 15353 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 131 times.
✓ Branch 4 → 6 taken 9403 times.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 54 times.
✓ Branch 4 → 6 taken 71 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 21 times.
✓ Branch 4 → 6 taken 633 times.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 34 times.
✓ Branch 4 → 6 taken 978 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 411 times.
✓ Branch 4 → 6 taken 38710 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4295 times.
✓ Branch 4 → 6 taken 82624 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4 times.
✓ Branch 4 → 6 taken 243 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 48 times.
✓ Branch 4 → 6 taken 692 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 811 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 761 times.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2327 times.
✓ Branch 4 → 6 taken 80106 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4570 times.
✓ Branch 4 → 6 taken 93416 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 52 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 16 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 taken 3 times.
✓ Branch 4 → 6 taken 13 times.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 28 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 7 times.
✓ Branch 4 → 6 taken 430 times.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 24 times.
✓ Branch 4 → 6 taken 841 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 225 times.
✓ Branch 4 → 6 taken 9759 times.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 16 times.
✓ Branch 4 → 6 taken 265 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 12 times.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 2 times.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 11 times.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 89 times.
✓ Branch 4 → 6 taken 2225 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 8 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 68 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 124 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2134 times.
✓ Branch 4 → 6 taken 72447 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 31 times.
✓ Branch 4 → 6 taken 966 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 44 times.
✓ Branch 4 → 6 taken 2667 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4065 times.
✓ Branch 4 → 6 taken 82987 times.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1185 times.
✓ Branch 4 → 6 taken 49945 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 67 times.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 207 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2522 times.
✓ Branch 4 → 6 taken 74789 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 22 times.
✓ Branch 4 → 6 taken 1179 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 107 times.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 495 times.
✓ Branch 4 → 6 taken 32047 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2073 times.
✓ Branch 4 → 6 taken 75100 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 6 times.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1874 times.
✓ Branch 4 → 6 taken 73654 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1862 times.
✓ Branch 4 → 6 taken 75412 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1879 times.
✓ Branch 4 → 6 taken 75383 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 667 times.
✓ Branch 4 → 6 taken 18312 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10 times.
✓ Branch 4 → 6 taken 987 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2069 times.
✓ Branch 4 → 6 taken 74804 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1944 times.
✓ Branch 4 → 6 taken 80842 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 5 times.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2547 times.
✓ Branch 4 → 6 taken 96933 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 103 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4980 times.
✓ Branch 4 → 6 taken 118892 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 32 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4754 times.
✓ Branch 4 → 6 taken 86629 times.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 74 times.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 219 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 17 times.
✓ Branch 4 → 6 taken 981 times.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 486 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 24 times.
✓ Branch 4 → 6 taken 1135 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 36 times.
✓ Branch 4 → 6 taken 1203 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 29 times.
✓ Branch 4 → 6 taken 1546 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 608 times.
✓ Branch 4 → 6 taken 18746 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.
|
1888255 | if (offsetInBlock + objSize >= blockSize) |
| 42 | 82568 | allocateNewBlock(); | |
| 43 | |||
| 44 | // Construct object at the offset address | ||
| 45 | 1888254 | byte *destAddr = memoryBlocks.back() + offsetInBlock; | |
| 46 |
11/44spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 8242 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 68 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 4270 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 22783 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 71 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 51131 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 86919 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 740 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 87052 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 108 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 91383 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
|
1888254 | T *ptr = new (destAddr) T(std::forward<Args>(args)...); |
| 47 |
86/172spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 13758 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 8242 times.
✗ Branch 10 → 18 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 4408 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 872 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 68 times.
✗ Branch 10 → 18 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1040 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 17466 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12512 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1450 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 142 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 370 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 4270 times.
✗ Branch 10 → 18 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 22783 times.
✗ Branch 10 → 18 not taken.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 7769 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71 times.
✗ Branch 10 → 18 not taken.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 92779 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 20498 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 51131 times.
✗ Branch 10 → 18 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 21716 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 249 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 739 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 15545 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9534 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 125 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 654 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1012 times.
✗ Branch 10 → 15 not taken.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 39121 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 86919 times.
✗ Branch 10 → 18 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 247 times.
✗ Branch 10 → 15 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 740 times.
✗ Branch 10 → 18 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 822 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 772 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 82433 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 97986 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 53 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 16 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 16 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 31 times.
✗ Branch 10 → 15 not taken.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 437 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 865 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9984 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 281 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 11 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2314 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 68 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 125 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 74581 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 997 times.
✗ Branch 10 → 15 not taken.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2711 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 87052 times.
✗ Branch 10 → 18 not taken.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 51130 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 70 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 209 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 77311 times.
✗ Branch 10 → 15 not taken.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1201 times.
✗ Branch 10 → 15 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 108 times.
✗ Branch 10 → 18 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 32542 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 77173 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 6 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 75528 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 77274 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 77262 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 18979 times.
✗ Branch 10 → 15 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 997 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 76873 times.
✗ Branch 10 → 15 not taken.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 82786 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 6 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 99480 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 104 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 123872 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 32 times.
✗ Branch 10 → 15 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 91383 times.
✗ Branch 10 → 18 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 75 times.
✗ Branch 10 → 15 not taken.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 224 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 998 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 486 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1159 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1239 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1575 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 19354 times.
✗ Branch 10 → 15 not taken.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 101008 times.
✗ Branch 10 → 15 not taken.
|
1888254 | allocatedObjects.push_back(ptr); |
| 48 | |||
| 49 | #ifndef NDEBUG | ||
| 50 |
86/172spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 13758 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 8242 times.
✗ Branch 12 → 19 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 4408 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 872 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 68 times.
✗ Branch 12 → 19 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1040 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 17466 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12512 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1450 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 142 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 370 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 4270 times.
✗ Branch 12 → 19 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 22783 times.
✗ Branch 12 → 19 not taken.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 7769 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71 times.
✗ Branch 12 → 19 not taken.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 92779 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 20498 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 51131 times.
✗ Branch 12 → 19 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 21716 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 249 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 739 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 15545 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9534 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 125 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 654 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1012 times.
✗ Branch 12 → 16 not taken.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 39121 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 86919 times.
✗ Branch 12 → 19 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 247 times.
✗ Branch 12 → 16 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 740 times.
✗ Branch 12 → 19 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 822 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 772 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 82433 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 97986 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 53 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 16 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 16 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 31 times.
✗ Branch 12 → 16 not taken.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 437 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 865 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9984 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 281 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 11 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2314 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 68 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 125 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 74581 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 997 times.
✗ Branch 12 → 16 not taken.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2711 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 87052 times.
✗ Branch 12 → 19 not taken.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 51130 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 70 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 209 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 77311 times.
✗ Branch 12 → 16 not taken.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1201 times.
✗ Branch 12 → 16 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 108 times.
✗ Branch 12 → 19 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 32542 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 77173 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 6 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 75528 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 77274 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 77262 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 18979 times.
✗ Branch 12 → 16 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 997 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 76873 times.
✗ Branch 12 → 16 not taken.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 82786 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 6 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 99480 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 104 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 123872 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 32 times.
✗ Branch 12 → 16 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 91383 times.
✗ Branch 12 → 19 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 75 times.
✗ Branch 12 → 16 not taken.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 224 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 998 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 486 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1159 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1239 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1575 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 19354 times.
✗ Branch 12 → 16 not taken.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 101008 times.
✗ Branch 12 → 16 not taken.
|
1888254 | ++allocatedClassStatistic[typeid(T).name()]; |
| 51 | #endif | ||
| 52 | |||
| 53 | // Update offset to be ready to store the next object | ||
| 54 | 1888254 | offsetInBlock += objSize; | |
| 55 | 1888254 | 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 | 83022 | void allocateNewBlock() { | |
| 82 | // Allocate new block | ||
| 83 |
1/2✓ Branch 2 → 3 taken 83022 times.
✗ Branch 2 → 28 not taken.
|
83022 | byte *ptr = memoryManager.allocate(blockSize); |
| 84 |
2/2✓ Branch 3 → 4 taken 1 time.
✓ Branch 3 → 14 taken 83021 times.
|
83022 | 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 83021 times.
✗ Branch 14 → 28 not taken.
|
83021 | memoryBlocks.push_back(ptr); |
| 90 | 83021 | offsetInBlock = 0; | |
| 91 | 83021 | } | |
| 92 | }; | ||
| 93 | |||
| 94 | } // namespace spice::compiler | ||
| 95 |